mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-21 23:48:05 +00:00
update to polkadot-sdk unstable2507 (#431)
Support for `polkadot-sdk` release `unstable2507`. This release will be deployed to Kusama and is supposed the first one on Polkadot. --------- Signed-off-by: xermicus <cyrill@parity.io> Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
+2
-1
@@ -4,7 +4,7 @@
|
||||
|
||||
This is a development pre-release.
|
||||
|
||||
Supported `polkadot-sdk` rev: `2509.0.0`
|
||||
Supported `polkadot-sdk` rev: `unstable2507`
|
||||
|
||||
### Added
|
||||
- The comprehensive revive compiler book documentation page: https://paritytech.github.io/revive/
|
||||
@@ -14,6 +14,7 @@ Supported `polkadot-sdk` rev: `2509.0.0`
|
||||
### Changed
|
||||
- Instruct the LLVM backend and linker to `--relax` (may lead to smaller contract code size).
|
||||
- Standard JSON mode: Don't forward EVM bytecode related output selections to solc.
|
||||
- The supported `polkadot-sdk` release is `unstable2507`.
|
||||
|
||||
### Fixed:
|
||||
- The missing `STOP` instruction at the end of `code` blocks.
|
||||
|
||||
Generated
+1023
-1026
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -76,7 +76,7 @@ normpath = "1.5"
|
||||
# polkadot-sdk and friends
|
||||
codec = { version = "3.7.5", default-features = false, package = "parity-scale-codec" }
|
||||
scale-info = { version = "2.11.6", default-features = false }
|
||||
polkadot-sdk = { version = "2509.0.0" }
|
||||
polkadot-sdk = { version = "=2507.4.0" }
|
||||
|
||||
# llvm
|
||||
[workspace.dependencies.inkwell]
|
||||
|
||||
@@ -26,6 +26,6 @@ pragma solidity ^0.8;
|
||||
|
||||
contract BaseFee {
|
||||
constructor() payable {
|
||||
assert(block.basefee == 0);
|
||||
assert(block.basefee > 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@ pragma solidity ^0.8;
|
||||
|
||||
contract GasLeft {
|
||||
constructor() payable {
|
||||
assert(gasleft() > gasleft());
|
||||
assert(gasleft() > 0 && gasleft() < 0xffffffffffffffff);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,6 @@ pragma solidity ^0.8;
|
||||
|
||||
contract GasLimit {
|
||||
constructor() payable {
|
||||
assert(block.gaslimit == 2000000000000);
|
||||
assert(block.gaslimit > 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,6 @@ pragma solidity ^0.8;
|
||||
|
||||
contract GasPrice {
|
||||
constructor() payable {
|
||||
assert(tx.gasprice == 1000);
|
||||
assert(tx.gasprice > 1000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ pub const CHARLIE: H160 = H160([3u8; 20]);
|
||||
/// Default gas limit
|
||||
pub const GAS_LIMIT: Weight = Weight::from_parts(100_000_000_000_000, 3 * 1024 * 1024 * 1024);
|
||||
/// Default deposit limit
|
||||
pub const DEPOSIT_LIMIT: Balance = 10_000_000;
|
||||
pub const DEPOSIT_LIMIT: Balance = 100_000_000_000;
|
||||
/// The native to ETH balance factor.
|
||||
pub const ETH_RATIO: Balance = 1_000_000;
|
||||
|
||||
@@ -97,14 +97,19 @@ impl ExtBuilder {
|
||||
.unwrap();
|
||||
|
||||
let mut ext = sp_io::TestExternalities::new(t);
|
||||
let checking_account = Pallet::<Runtime>::account_id();
|
||||
ext.register_extension(KeystoreExt::new(MemoryKeystore::new()));
|
||||
ext.execute_with(|| {
|
||||
let _ = <Runtime as Config>::Currency::deposit_creating(
|
||||
&Pallet::<Runtime>::account_id(),
|
||||
<Runtime as Config>::Currency::minimum_balance(),
|
||||
&checking_account,
|
||||
1_000_000_000_000,
|
||||
);
|
||||
|
||||
System::set_block_number(1);
|
||||
|
||||
assert_ok!(Pallet::<Runtime>::map_account(RuntimeOrigin::signed(
|
||||
checking_account
|
||||
)));
|
||||
});
|
||||
|
||||
ext
|
||||
@@ -115,7 +120,7 @@ impl ExtBuilder {
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct VerifyCallExpectation {
|
||||
/// When provided, the expected gas consumed
|
||||
pub gas_consumed: Option<Weight>,
|
||||
pub gas_consumed: Option<u128>,
|
||||
/// When provided, the expected output
|
||||
#[serde(default, with = "hex")]
|
||||
pub output: OptionalHex<Vec<u8>>,
|
||||
@@ -238,7 +243,7 @@ impl CallResult {
|
||||
}
|
||||
|
||||
/// Get the gas consumed by the call
|
||||
fn gas_consumed(&self) -> Weight {
|
||||
fn gas_consumed(&self) -> u128 {
|
||||
match self {
|
||||
Self::Exec { result, .. } => result.gas_consumed,
|
||||
Self::Instantiate { result, .. } => result.gas_consumed,
|
||||
|
||||
@@ -2,7 +2,7 @@ use frame_support::{runtime, traits::FindAuthor, weights::constants::WEIGHT_REF_
|
||||
use pallet_revive::AccountId32Mapper;
|
||||
use polkadot_sdk::*;
|
||||
use polkadot_sdk::{
|
||||
polkadot_sdk_frame::{log, runtime::prelude::*},
|
||||
polkadot_sdk_frame::runtime::prelude::*,
|
||||
sp_runtime::{AccountId32, Perbill},
|
||||
};
|
||||
|
||||
@@ -72,6 +72,7 @@ parameter_types! {
|
||||
|
||||
#[derive_impl(pallet_revive::config_preludes::TestDefaultConfig)]
|
||||
impl pallet_revive::Config for Runtime {
|
||||
type Balance = Balance;
|
||||
type Time = Timestamp;
|
||||
type Currency = Balances;
|
||||
type DepositPerByte = DepositPerByte;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::{str::FromStr, time::Instant};
|
||||
|
||||
use polkadot_sdk::pallet_revive::Pallet;
|
||||
use polkadot_sdk::pallet_revive::{ExecConfig, Pallet, TransactionLimits};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::*;
|
||||
@@ -210,9 +210,9 @@ impl Default for Specs {
|
||||
Self {
|
||||
differential: false,
|
||||
balances: vec![
|
||||
(ALICE, 1_000_000_000),
|
||||
(BOB, 1_000_000_000),
|
||||
(CHARLIE, 1_000_000_000),
|
||||
(ALICE, 1_000_000_000_000),
|
||||
(BOB, 1_000_000_000_000),
|
||||
(CHARLIE, 1_000_000_000_000),
|
||||
],
|
||||
actions: Default::default(),
|
||||
}
|
||||
@@ -447,12 +447,14 @@ impl Specs {
|
||||
let result = Contracts::bare_instantiate(
|
||||
origin,
|
||||
value.into(),
|
||||
gas_limit.unwrap_or(GAS_LIMIT),
|
||||
storage_deposit_limit.unwrap_or(DEPOSIT_LIMIT).into(),
|
||||
TransactionLimits::WeightAndDeposit {
|
||||
weight_limit: gas_limit.unwrap_or(GAS_LIMIT),
|
||||
deposit_limit: storage_deposit_limit.unwrap_or(DEPOSIT_LIMIT),
|
||||
},
|
||||
code,
|
||||
data,
|
||||
salt.0,
|
||||
pallet_revive::BumpNonce::No,
|
||||
ExecConfig::new_substrate_tx(),
|
||||
);
|
||||
results.push(CallResult::Instantiate {
|
||||
result,
|
||||
@@ -486,9 +488,12 @@ impl Specs {
|
||||
RuntimeOrigin::signed(origin.to_account_id(&results)),
|
||||
dest.to_eth_addr(&results),
|
||||
value.into(),
|
||||
gas_limit.unwrap_or(GAS_LIMIT),
|
||||
storage_deposit_limit.unwrap_or(DEPOSIT_LIMIT).into(),
|
||||
TransactionLimits::WeightAndDeposit {
|
||||
weight_limit: gas_limit.unwrap_or(GAS_LIMIT),
|
||||
deposit_limit: storage_deposit_limit.unwrap_or(DEPOSIT_LIMIT),
|
||||
},
|
||||
data,
|
||||
ExecConfig::new_substrate_tx(),
|
||||
);
|
||||
results.push(CallResult::Exec {
|
||||
result,
|
||||
|
||||
Reference in New Issue
Block a user