diff --git a/precompiles/relay-encoder/RelayEncoder.sol b/precompiles/relay-encoder/RelayEncoder.sol index 30cb7f77baf..b1a3567e465 100644 --- a/precompiles/relay-encoder/RelayEncoder.sol +++ b/precompiles/relay-encoder/RelayEncoder.sol @@ -17,13 +17,11 @@ RelayEncoder constant RELAY_ENCODER_CONTRACT = RelayEncoder( /// @custom:address 0x0000000000000000000000000000000000000805 interface RelayEncoder { /// @dev Encode 'bond' relay call - /// @custom:selector a82948d4 - /// @param controllerAddress: Address of the controller + /// @custom:selector 72a9fbc6 /// @param amount: The amount to bond /// @param rewardDestination: the account that should receive the reward /// @return result The bytes associated with the encoded call function encodeBond( - uint256 controllerAddress, uint256 amount, bytes memory rewardDestination ) external pure returns (bytes memory result); @@ -32,47 +30,43 @@ interface RelayEncoder { /// @custom:selector 813667a0 /// @param amount: The extra amount to bond /// @return result The bytes associated with the encoded call - function encodeBondExtra(uint256 amount) - external - pure - returns (bytes memory result); + function encodeBondExtra( + uint256 amount + ) external pure returns (bytes memory result); /// @dev Encode 'unbond' relay call /// @custom:selector 51b14e57 /// @param amount The amount to unbond /// @return result The bytes associated with the encoded call - function encodeUnbond(uint256 amount) - external - pure - returns (bytes memory result); + function encodeUnbond( + uint256 amount + ) external pure returns (bytes memory result); /// @dev Encode 'withdrawUnbonded' relay call /// @custom:selector d5ad108e /// @param slashes Weight hint, number of slashing spans /// @return result The bytes associated with the encoded call - function encodeWithdrawUnbonded(uint32 slashes) - external - pure - returns (bytes memory result); + function encodeWithdrawUnbonded( + uint32 slashes + ) external pure returns (bytes memory result); /// @dev Encode 'validate' relay call /// @custom:selector bb64ca0c - /// @param comission: Comission of the validator as partsPerBillion + /// @param commission: Commission of the validator as partsPerBillion /// @param blocked: Whether or not the validator is accepting more nominations /// @return result The bytes associated with the encoded call - function encodeValidate(uint256 comission, bool blocked) - external - pure - returns (bytes memory result); + function encodeValidate( + uint256 commission, + bool blocked + ) external pure returns (bytes memory result); /// @dev Encode 'nominate' relay call /// @custom:selector d2ea7b08 /// @param nominees: An array of AccountIds corresponding to the accounts we will nominate /// @return result The bytes associated with the encoded call - function encodeNominate(uint256[] memory nominees) - external - pure - returns (bytes memory result); + function encodeNominate( + bytes32[] memory nominees + ) external pure returns (bytes memory result); /// @dev Encode 'chill' relay call /// @custom:selector b5eaac43 @@ -83,28 +77,22 @@ interface RelayEncoder { /// @custom:selector 414be337 /// @param rewardDestination: the account that should receive the reward /// @return result The bytes associated with the encoded call - function encodeSetPayee(bytes memory rewardDestination) - external - pure - returns (bytes memory result); + function encodeSetPayee( + bytes memory rewardDestination + ) external pure returns (bytes memory result); /// @dev Encode 'setController' relay call - /// @custom:selector 07f7c6dc - /// @param controller: The controller address + /// @custom:selector 15490616 /// @return result The bytes associated with the encoded call - function encodeSetController(uint256 controller) - external - pure - returns (bytes memory result); + function encodeSetController() external pure returns (bytes memory result); /// @dev Encode 'rebond' relay call /// @custom:selector 0922ee17 /// @param amount: The amount to rebond /// @return result The bytes associated with the encoded call - function encodeRebond(uint256 amount) - external - pure - returns (bytes memory result); + function encodeRebond( + uint256 amount + ) external pure returns (bytes memory result); /// @dev Encode 'hrmp.init_open_channel' relay call /// @custom:selector e5e20a64 @@ -112,35 +100,36 @@ interface RelayEncoder { /// @param maxCapacity: The maximum capacity for the channel /// @param maxMessageSize: The maximum message size for the channel /// @return result The bytes associated with the encoded call - function encodeHrmpInitOpenChannel(uint32 recipient, uint32 maxCapacity, uint32 maxMessageSize) - external - pure - returns (bytes memory result); - + function encodeHrmpInitOpenChannel( + uint32 recipient, + uint32 maxCapacity, + uint32 maxMessageSize + ) external pure returns (bytes memory result); + /// @dev Encode 'hrmp.accept_open_channel' relay call /// @custom:selector 98a76477 /// @param sender: The paraId from which we want to accept the channel - function encodeHrmpAcceptOpenChannel(uint32 sender) - external - pure - returns (bytes memory result); + function encodeHrmpAcceptOpenChannel( + uint32 sender + ) external pure returns (bytes memory result); /// @dev Encode 'hrmp.close_channel' relay call /// @custom:selector 9cfbdfc5 /// @param sender: The paraId of the sender /// @param sender: The paraId of the recipient - function encodeHrmpCloseChannel(uint32 sender, uint32 recipient) - external - pure - returns (bytes memory result); - + function encodeHrmpCloseChannel( + uint32 sender, + uint32 recipient + ) external pure returns (bytes memory result); + /// @dev Encode 'hrmp.cancel_open_request' relay call /// @custom:selector 8fd5ce49 /// @param sender: The paraId of the sender /// @param recipient: The paraId of the recipient /// @param openRequests: The number of open requests - function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) - external - pure - returns (bytes memory result); + function encodeHrmpCancelOpenRequest( + uint32 sender, + uint32 recipient, + uint32 openRequests + ) external pure returns (bytes memory result); } diff --git a/precompiles/relay-encoder/src/lib.rs b/precompiles/relay-encoder/src/lib.rs index 79c42594a98..82b22b7fc3c 100644 --- a/precompiles/relay-encoder/src/lib.rs +++ b/precompiles/relay-encoder/src/lib.rs @@ -44,7 +44,6 @@ mod tests; pub enum AvailableStakeCalls { Bond( - relay_chain::AccountId, relay_chain::Balance, pallet_staking::RewardDestination, ), @@ -55,7 +54,7 @@ pub enum AvailableStakeCalls { Nominate(Vec), Chill, SetPayee(pallet_staking::RewardDestination), - SetController(relay_chain::AccountId), + SetController, Rebond(relay_chain::Balance), } @@ -79,12 +78,11 @@ where Runtime: pallet_evm::Config, Runtime::RuntimeCall: Dispatchable + GetDispatchInfo, { - #[precompile::public("encodeBond(uint256,uint256,bytes)")] - #[precompile::public("encode_bond(uint256,uint256,bytes)")] + #[precompile::public("encodeBond(uint256,bytes)")] + #[precompile::public("encode_bond(uint256,bytes)")] #[precompile::view] fn encode_bond( handle: &mut impl PrecompileHandle, - controller_address: U256, amount: U256, reward_destination: RewardDestinationWrapper, ) -> EvmResult { @@ -92,17 +90,13 @@ where // To prevent spam, we charge an arbitrary amount of gas handle.record_cost(1000)?; - let address: [u8; 32] = controller_address.into(); let relay_amount = u256_to_relay_amount(amount)?; let reward_destination = reward_destination.into(); - let encoded = RelayRuntime::encode_call(AvailableStakeCalls::Bond( - address.into(), - relay_amount, - reward_destination, - )) - .as_slice() - .into(); + let encoded = + RelayRuntime::encode_call(AvailableStakeCalls::Bond(relay_amount, reward_destination)) + .as_slice() + .into(); Ok(encoded) } @@ -169,14 +163,14 @@ where #[precompile::view] fn encode_validate( handle: &mut impl PrecompileHandle, - comission: Convert, + commission: Convert, blocked: bool, ) -> EvmResult { // No DB access but lot of logical stuff // To prevent spam, we charge an arbitrary amount of gas handle.record_cost(1000)?; - let fraction = Perbill::from_parts(comission.converted()); + let fraction = Perbill::from_parts(commission.converted()); let encoded = RelayRuntime::encode_call(AvailableStakeCalls::Validate( pallet_staking::ValidatorPrefs { commission: fraction, @@ -189,8 +183,8 @@ where Ok(encoded) } - #[precompile::public("encodeNominate(uint256[])")] - #[precompile::public("encode_nominate(uint256[])")] + #[precompile::public("encodeNominate(bytes32[])")] + #[precompile::public("encode_nominate(bytes32[])")] #[precompile::view] fn encode_nominate( handle: &mut impl PrecompileHandle, @@ -250,23 +244,17 @@ where Ok(encoded) } - #[precompile::public("encodeSetController(uint256)")] - #[precompile::public("encode_set_controller(uint256)")] + #[precompile::public("encodeSetController()")] + #[precompile::public("encode_set_controller()")] #[precompile::view] - fn encode_set_controller( - handle: &mut impl PrecompileHandle, - controller: U256, - ) -> EvmResult { + fn encode_set_controller(handle: &mut impl PrecompileHandle) -> EvmResult { // No DB access but lot of logical stuff // To prevent spam, we charge an arbitrary amount of gas handle.record_cost(1000)?; - let controller: [u8; 32] = controller.into(); - - let encoded = - RelayRuntime::encode_call(AvailableStakeCalls::SetController(controller.into())) - .as_slice() - .into(); + let encoded = RelayRuntime::encode_call(AvailableStakeCalls::SetController) + .as_slice() + .into(); Ok(encoded) } diff --git a/precompiles/relay-encoder/src/test_relay_runtime.rs b/precompiles/relay-encoder/src/test_relay_runtime.rs index 5caf232e06a..49aca401f82 100644 --- a/precompiles/relay-encoder/src/test_relay_runtime.rs +++ b/precompiles/relay-encoder/src/test_relay_runtime.rs @@ -35,7 +35,6 @@ pub enum StakeCall { #[codec(index = 0u16)] // the index should match the position of the dispatchable in the target pallet Bond( - as StaticLookup>::Source, #[codec(compact)] cumulus_primitives_core::relay_chain::Balance, pallet_staking::RewardDestination, ), @@ -54,7 +53,7 @@ pub enum StakeCall { #[codec(index = 7u16)] SetPayee(pallet_staking::RewardDestination), #[codec(index = 8u16)] - SetController( as StaticLookup>::Source), + SetController, #[codec(index = 19u16)] Rebond(#[codec(compact)] cumulus_primitives_core::relay_chain::Balance), } @@ -77,9 +76,7 @@ pub struct TestEncoder; impl StakeEncodeCall for TestEncoder { fn encode_call(call: AvailableStakeCalls) -> Vec { match call { - AvailableStakeCalls::Bond(a, b, c) => { - RelayCall::Stake(StakeCall::Bond(a.into(), b, c)).encode() - } + AvailableStakeCalls::Bond(b, c) => RelayCall::Stake(StakeCall::Bond(b, c)).encode(), AvailableStakeCalls::BondExtra(a) => RelayCall::Stake(StakeCall::BondExtra(a)).encode(), @@ -97,8 +94,8 @@ impl StakeEncodeCall for TestEncoder { RelayCall::Stake(StakeCall::SetPayee(a.into())).encode() } - AvailableStakeCalls::SetController(a) => { - RelayCall::Stake(StakeCall::SetController(a.into())).encode() + AvailableStakeCalls::SetController => { + RelayCall::Stake(StakeCall::SetController).encode() } AvailableStakeCalls::Rebond(a) => { diff --git a/precompiles/relay-encoder/src/tests.rs b/precompiles/relay-encoder/src/tests.rs index 319dc35eb7b..8641dd65340 100644 --- a/precompiles/relay-encoder/src/tests.rs +++ b/precompiles/relay-encoder/src/tests.rs @@ -90,7 +90,6 @@ fn test_encode_bond() { Alice, Precompile1, PCall::encode_bond { - controller_address: [1u8; 32].into(), amount: 100.into(), reward_destination: RewardDestinationWrapper(RewardDestination::Controller), }, @@ -99,7 +98,6 @@ fn test_encode_bond() { .expect_no_logs() .execute_returns(UnboundedBytes::from( TestEncoder::encode_call(AvailableStakeCalls::Bond( - [1u8; 32].into(), 100u32.into(), RewardDestination::Controller, )) @@ -198,18 +196,11 @@ fn test_encode_set_controller() { .build() .execute_with(|| { precompiles() - .prepare_test( - Alice, - Precompile1, - PCall::encode_set_controller { - controller: [1u8; 32].into(), - }, - ) + .prepare_test(Alice, Precompile1, PCall::encode_set_controller {}) .expect_cost(1000) .expect_no_logs() .execute_returns(UnboundedBytes::from( - TestEncoder::encode_call(AvailableStakeCalls::SetController([1u8; 32].into())) - .as_slice(), + TestEncoder::encode_call(AvailableStakeCalls::SetController).as_slice(), )) }); } @@ -270,7 +261,7 @@ fn test_encode_validate() { Alice, Precompile1, PCall::encode_validate { - comission: 100.into(), + commission: 100.into(), blocked: true, }, ) diff --git a/runtime/relay-encoder/src/kusama.rs b/runtime/relay-encoder/src/kusama.rs index e1a89a977b1..1938a998649 100644 --- a/runtime/relay-encoder/src/kusama.rs +++ b/runtime/relay-encoder/src/kusama.rs @@ -35,19 +35,11 @@ pub enum RelayCall { Hrmp(HrmpCall), } -// Utility call encoding, needed for xcm transactor pallet -#[derive(Encode, Decode)] -pub enum UtilityCall { - #[codec(index = 1u8)] - AsDerivative(u16), -} - #[derive(Encode, Decode)] pub enum StakeCall { #[codec(index = 0u16)] // the index should match the position of the dispatchable in the target pallet Bond( - as StaticLookup>::Source, #[codec(compact)] cumulus_primitives_core::relay_chain::Balance, pallet_staking::RewardDestination, ), @@ -66,11 +58,18 @@ pub enum StakeCall { #[codec(index = 7u16)] SetPayee(pallet_staking::RewardDestination), #[codec(index = 8u16)] - SetController( as StaticLookup>::Source), + SetController, #[codec(index = 19u16)] Rebond(#[codec(compact)] cumulus_primitives_core::relay_chain::Balance), } +// Utility call encoding, needed for xcm transactor pallet +#[derive(Encode, Decode)] +pub enum UtilityCall { + #[codec(index = 1u8)] + AsDerivative(u16), +} + // HRMP call encoding, needed for xcm transactor pallet #[derive(Encode, Decode)] pub enum HrmpCall { @@ -125,8 +124,8 @@ impl xcm_primitives::HrmpEncodeCall for KusamaEncoder { impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for KusamaEncoder { fn encode_call(call: pallet_evm_precompile_relay_encoder::AvailableStakeCalls) -> Vec { match call { - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(a, b, c) => { - RelayCall::Stake(StakeCall::Bond(a.into(), b, c)).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(b, c) => { + RelayCall::Stake(StakeCall::Bond(b, c)).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::BondExtra(a) => { @@ -153,8 +152,8 @@ impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for KusamaEncoder { RelayCall::Stake(StakeCall::SetPayee(a.into())).encode() } - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController(a) => { - RelayCall::Stake(StakeCall::SetController(a.into())).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController => { + RelayCall::Stake(StakeCall::SetController).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Rebond(a) => { @@ -216,7 +215,6 @@ mod tests { #[test] fn test_stake_bond() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< kusama_runtime::Staking, @@ -234,7 +232,6 @@ mod tests { assert_eq!( ::encode_call( pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond( - relay_account.into(), 100u32.into(), pallet_staking::RewardDestination::Controller ) @@ -415,7 +412,6 @@ mod tests { #[test] fn test_set_controller() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< kusama_runtime::Staking, @@ -429,9 +425,7 @@ mod tests { assert_eq!( ::encode_call( - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController( - relay_account.clone().into() - ) + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController ), expected_encoded ); diff --git a/runtime/relay-encoder/src/polkadot.rs b/runtime/relay-encoder/src/polkadot.rs index 48a3917718a..e96223cf83f 100644 --- a/runtime/relay-encoder/src/polkadot.rs +++ b/runtime/relay-encoder/src/polkadot.rs @@ -36,20 +36,11 @@ pub enum RelayCall { Hrmp(HrmpCall), } -// Utility call encoding, needed for xcm transactor pallet -#[derive(Encode, Decode)] - -pub enum UtilityCall { - #[codec(index = 1u8)] - AsDerivative(u16), -} - #[derive(Encode, Decode)] pub enum StakeCall { #[codec(index = 0u16)] // the index should match the position of the dispatchable in the target pallet Bond( - as StaticLookup>::Source, #[codec(compact)] cumulus_primitives_core::relay_chain::Balance, pallet_staking::RewardDestination, ), @@ -68,11 +59,18 @@ pub enum StakeCall { #[codec(index = 7u16)] SetPayee(pallet_staking::RewardDestination), #[codec(index = 8u16)] - SetController( as StaticLookup>::Source), + SetController, #[codec(index = 19u16)] Rebond(#[codec(compact)] cumulus_primitives_core::relay_chain::Balance), } +// Utility call encoding, needed for xcm transactor pallet +#[derive(Encode, Decode)] +pub enum UtilityCall { + #[codec(index = 1u8)] + AsDerivative(u16), +} + // HRMP call encoding, needed for xcm transactor pallet #[derive(Encode, Decode)] pub enum HrmpCall { @@ -127,8 +125,8 @@ impl xcm_primitives::HrmpEncodeCall for PolkadotEncoder { impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for PolkadotEncoder { fn encode_call(call: pallet_evm_precompile_relay_encoder::AvailableStakeCalls) -> Vec { match call { - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(a, b, c) => { - RelayCall::Stake(StakeCall::Bond(a.into(), b, c)).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(b, c) => { + RelayCall::Stake(StakeCall::Bond(b, c)).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::BondExtra(a) => { @@ -155,8 +153,8 @@ impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for PolkadotEncoder { RelayCall::Stake(StakeCall::SetPayee(a.into())).encode() } - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController(a) => { - RelayCall::Stake(StakeCall::SetController(a.into())).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController => { + RelayCall::Stake(StakeCall::SetController).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Rebond(a) => { @@ -218,7 +216,6 @@ mod tests { #[test] fn test_stake_bond() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< polkadot_runtime::Staking, @@ -236,7 +233,6 @@ mod tests { assert_eq!( ::encode_call( pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond( - relay_account.into(), 100u32.into(), pallet_staking::RewardDestination::Controller ) @@ -417,7 +413,6 @@ mod tests { #[test] fn test_set_controller() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< polkadot_runtime::Staking, @@ -431,9 +426,7 @@ mod tests { assert_eq!( ::encode_call( - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController( - relay_account.clone().into() - ) + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController ), expected_encoded ); diff --git a/runtime/relay-encoder/src/westend.rs b/runtime/relay-encoder/src/westend.rs index 037d7e65897..6f06d77e85e 100644 --- a/runtime/relay-encoder/src/westend.rs +++ b/runtime/relay-encoder/src/westend.rs @@ -36,19 +36,11 @@ pub enum RelayCall { Hrmp(HrmpCall), } -// Utility call encoding, needed for xcm transactor pallet -#[derive(Encode, Decode)] -pub enum UtilityCall { - #[codec(index = 1u8)] - AsDerivative(u16), -} - #[derive(Encode, Decode)] pub enum StakeCall { #[codec(index = 0u16)] // the index should match the position of the dispatchable in the target pallet Bond( - as StaticLookup>::Source, #[codec(compact)] cumulus_primitives_core::relay_chain::Balance, pallet_staking::RewardDestination, ), @@ -67,11 +59,18 @@ pub enum StakeCall { #[codec(index = 7u16)] SetPayee(pallet_staking::RewardDestination), #[codec(index = 8u16)] - SetController( as StaticLookup>::Source), + SetController, #[codec(index = 19u16)] Rebond(#[codec(compact)] cumulus_primitives_core::relay_chain::Balance), } +// Utility call encoding, needed for xcm transactor pallet +#[derive(Encode, Decode)] +pub enum UtilityCall { + #[codec(index = 1u8)] + AsDerivative(u16), +} + // HRMP call encoding, needed for xcm transactor pallet #[derive(Encode, Decode)] pub enum HrmpCall { @@ -125,8 +124,8 @@ impl xcm_primitives::HrmpEncodeCall for WestendEncoder { impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for WestendEncoder { fn encode_call(call: pallet_evm_precompile_relay_encoder::AvailableStakeCalls) -> Vec { match call { - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(a, b, c) => { - RelayCall::Stake(StakeCall::Bond(a.into(), b, c)).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond(b, c) => { + RelayCall::Stake(StakeCall::Bond(b, c)).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::BondExtra(a) => { @@ -153,8 +152,8 @@ impl pallet_evm_precompile_relay_encoder::StakeEncodeCall for WestendEncoder { RelayCall::Stake(StakeCall::SetPayee(a.into())).encode() } - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController(a) => { - RelayCall::Stake(StakeCall::SetController(a.into())).encode() + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController => { + RelayCall::Stake(StakeCall::SetController).encode() } pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Rebond(a) => { @@ -216,7 +215,6 @@ mod tests { #[test] fn test_stake_bond() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< westend_runtime::Staking, @@ -234,7 +232,6 @@ mod tests { assert_eq!( ::encode_call( pallet_evm_precompile_relay_encoder::AvailableStakeCalls::Bond( - relay_account.into(), 100u32.into(), pallet_staking::RewardDestination::Controller ) @@ -415,7 +412,6 @@ mod tests { #[test] fn test_set_controller() { let mut expected_encoded: Vec = Vec::new(); - let relay_account: AccountId32 = [1u8; 32].into(); let index = ::PalletInfo::index::< westend_runtime::Staking, @@ -429,9 +425,7 @@ mod tests { assert_eq!( ::encode_call( - pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController( - relay_account.clone().into() - ) + pallet_evm_precompile_relay_encoder::AvailableStakeCalls::SetController ), expected_encoded ); diff --git a/test/contracts/src/RelayEncoderInstance.sol b/test/contracts/src/RelayEncoderInstance.sol index 0d01d475c3e..48a40a0b0b6 100644 --- a/test/contracts/src/RelayEncoderInstance.sol +++ b/test/contracts/src/RelayEncoderInstance.sol @@ -6,7 +6,6 @@ import "../../../precompiles/relay-encoder/RelayEncoder.sol"; // We only use this to be able to generate the input data, since we need a compiled instance contract RelayEncoderInstance is RelayEncoder { function encodeBond( - uint256 controllerAddress, uint256 amount, bytes memory reward_destination ) external pure override returns (bytes memory result) { @@ -32,14 +31,14 @@ contract RelayEncoderInstance is RelayEncoder { } function encodeValidate( - uint256 comission, + uint256 commission, bool blocked ) external pure override returns (bytes memory result) { return "0x00"; } function encodeNominate( - uint256[] memory nominees + bytes32[] memory nominees ) external pure override returns (bytes memory result) { return "0x00"; } @@ -59,9 +58,12 @@ contract RelayEncoderInstance is RelayEncoder { return "0x00"; } - function encodeSetController( - uint256 controller - ) external pure override returns (bytes memory result) { + function encodeSetController() + external + pure + override + returns (bytes memory result) + { return "0x00"; } diff --git a/test/suites/smoke/test-relay-indices.ts b/test/suites/smoke/test-relay-indices.ts index 9aed7393320..099f519b7f2 100644 --- a/test/suites/smoke/test-relay-indices.ts +++ b/test/suites/smoke/test-relay-indices.ts @@ -89,15 +89,8 @@ describeSuite({ id: "C400", title: "should have matching indices for Staking.Bond", test: async function () { - const callHex = relayApi.tx.staking - // @ts-expect-error - this is changing in 9430 (which polkadot-js is on) - .bond(ALITH_SESSION_ADDRESS, 10000000000, "Staked") - .method.toHex(); - const resp = await relayEncoder.encodeBond( - ALITH_SESSION_ADDRESS, - 10000000000, - hexToU8a("0x00") - ); + const callHex = relayApi.tx.staking.bond(10000000000, "Staked").method.toHex(); + const resp = await relayEncoder.encodeBond(10000000000, hexToU8a("0x00")); expect(resp, "Mismatched encoding between relaychain and local values").to.equals(callHex); }, }); @@ -146,9 +139,8 @@ describeSuite({ id: "C900", title: "should have matching indices for Staking.SetController", test: async function () { - // @ts-expect-error - this is changing in 9430 (which polkadot-js is on) - const callHex = relayApi.tx.staking.setController(ALITH_SESSION_ADDRESS).method.toHex(); - const resp = await relayEncoder.encodeSetController(ALITH_SESSION_ADDRESS); + const callHex = relayApi.tx.staking.setController().method.toHex(); + const resp = await relayEncoder.encodeSetController(); expect(resp, "Mismatched encoding between relaychain and local values").to.equals(callHex); }, }); diff --git a/tests/contracts/compiled/RelayEncoderInstance.json b/tests/contracts/compiled/RelayEncoderInstance.json index e427502cbad..78906f895ba 100644 --- a/tests/contracts/compiled/RelayEncoderInstance.json +++ b/tests/contracts/compiled/RelayEncoderInstance.json @@ -1,14 +1,9 @@ { - "byteCode": "0x608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b506107d48061006d6000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c80639cfbdfc5116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d2ea7b0814610295578063d5ad108e1461021d578063e5e20a64146101ed57610137565b80639cfbdfc51461022b578063a82948d414610259578063b5eaac431461026757610137565b806351b14e571161011557806351b14e571461019c578063813667a01461019c5780638fd5ce49146101ed57806398a764771461021d57610137565b806307f7c6dc1461019c5780630922ee171461019c578063414be337146101df575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6101c96101aa36600461050e565b6101c96101fb36600461056a565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105b0565b6101c96102393660046105d5565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96101fb36600461060b565b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c9610239366004610661565b6101c96101aa366004610699565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b803563ffffffff8116811461056557600080fd5b919050565b600080600060608486031215610582576105826102a3565b61058b84610551565b925061059960208501610551565b91506105a760408501610551565b90509250925092565b6000602082840312156105c5576105c56102a3565b6105ce82610551565b9392505050565b600080604083850312156105eb576105eb6102a3565b6105f483610551565b915061060260208401610551565b90509250929050565b600080600060608486031215610623576106236102a3565b8335925060208401359150604084013567ffffffffffffffff81111561064b5761064b6102f3565b6106578682870161044d565b9150509250925092565b60008060408385031215610677576106776102a3565b823591506020830135801515811461068e57600080fd5b809150509250929050565b600060208083850312156106af576106af6102a3565b823567ffffffffffffffff808211156106ca576106ca6102f3565b818501915085601f8301126106e1576106e16103ad565b8135818111156106f3576106f3610406565b8060051b915061070484830161041c565b81815291830184019184810190888411156107745760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561079257843582529385019390850190610779565b9897505050505050505056fea2646970667358221220a497a5df1b271951b444eac872fe56936c6a78ff4bffc4d2cb362ba7deff0d3c64736f6c63430008130033", + "byteCode": "0x608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b506107cb8061006d6000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c806398a76477116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d5ad108e1461026b578063dcf0688314610295578063e5e20a641461023b57610137565b806398a764771461026b5780639cfbdfc514610279578063b5eaac43146101df57610137565b806351b14e571161011557806351b14e571461019c57806372a9fbc61461020d578063813667a01461019c5780638fd5ce491461023b57610137565b80630922ee171461019c57806315490616146101df578063414be337146101ff575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c96101aa36600461050e565b6101c961021b366004610551565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96102493660046105b7565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105fd565b6101c961021b366004610622565b6101c961021b366004610658565b6101c96101aa366004610690565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b60008060408385031215610567576105676102a3565b82359150602083013567ffffffffffffffff811115610588576105886102f3565b6105948582860161044d565b9150509250929050565b803563ffffffff811681146105b257600080fd5b919050565b6000806000606084860312156105cf576105cf6102a3565b6105d88461059e565b92506105e66020850161059e565b91506105f46040850161059e565b90509250925092565b600060208284031215610612576106126102a3565b61061b8261059e565b9392505050565b60008060408385031215610638576106386102a3565b6106418361059e565b915061064f6020840161059e565b90509250929050565b6000806040838503121561066e5761066e6102a3565b823591506020830135801515811461068557600080fd5b809150509250929050565b600060208083850312156106a6576106a66102a3565b823567ffffffffffffffff808211156106c1576106c16102f3565b818501915085601f8301126106d8576106d86103ad565b8135818111156106ea576106ea610406565b8060051b91506106fb84830161041c565b818152918301840191848101908884111561076b5760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561078957843582529385019390850190610770565b9897505050505050505056fea2646970667358221220957cc989bc75662982253e5db1f9dd334c1336dbb519b7c88c6ffba13967db0e64736f6c63430008130033", "contract": { "abi": [ { "inputs": [ - { - "internalType": "uint256", - "name": "controllerAddress", - "type": "uint256" - }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", @@ -99,9 +94,9 @@ { "inputs": [ { - "internalType": "uint256[]", + "internalType": "bytes32[]", "name": "nominees", - "type": "uint256[]" + "type": "bytes32[]" } ], "name": "encodeNominate", @@ -123,9 +118,7 @@ "type": "function" }, { - "inputs": [ - { "internalType": "uint256", "name": "controller", "type": "uint256" } - ], + "inputs": [], "name": "encodeSetController", "outputs": [ { "internalType": "bytes", "name": "result", "type": "bytes" } @@ -161,7 +154,11 @@ }, { "inputs": [ - { "internalType": "uint256", "name": "comission", "type": "uint256" }, + { + "internalType": "uint256", + "name": "commission", + "type": "uint256" + }, { "internalType": "bool", "name": "blocked", "type": "bool" } ], "name": "encodeValidate", @@ -222,7 +219,7 @@ }, "returns": { "result": "The bytes associated with the encoded call" } }, - "encodeNominate(uint256[])": { + "encodeNominate(bytes32[])": { "details": "Encode 'nominate' relay call", "params": { "nominees": ": An array of AccountIds corresponding to the accounts we will nominate" @@ -234,9 +231,8 @@ "params": { "amount": ": The amount to rebond" }, "returns": { "result": "The bytes associated with the encoded call" } }, - "encodeSetController(uint256)": { + "encodeSetController()": { "details": "Encode 'setController' relay call", - "params": { "controller": ": The controller address" }, "returns": { "result": "The bytes associated with the encoded call" } }, "encodeSetPayee(bytes)": { @@ -255,7 +251,7 @@ "details": "Encode 'validate' relay call", "params": { "blocked": ": Whether or not the validator is accepting more nominations", - "comission": ": Comission of the validator as partsPerBillion" + "commission": ": Commission of the validator as partsPerBillion" }, "returns": { "result": "The bytes associated with the encoded call" } }, @@ -268,98 +264,98 @@ "version": 1 }, "evm": { - "assembly": " /* \"RelayEncoderInstance.sol\":223:2754 contract RelayEncoderInstance is RelayEncoder {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x22\n 0x24\n dup3\n add\n mstore\n 0x45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0xf1, 0x37b7)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"RelayEncoderInstance.sol\":223:2754 contract RelayEncoderInstance is RelayEncoder {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x22\n 0x24\n dup3\n add\n mstore\n 0x45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0xf1, 0x37b7)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x9cfbdfc5\n gt\n tag_17\n jumpi\n dup1\n 0xbb64ca0c\n gt\n tag_18\n jumpi\n dup1\n 0xbb64ca0c\n eq\n tag_13\n jumpi\n dup1\n 0xd2ea7b08\n eq\n tag_14\n jumpi\n dup1\n 0xd5ad108e\n eq\n tag_9\n jumpi\n dup1\n 0xe5e20a64\n eq\n tag_8\n jumpi\n jump(tag_2)\n tag_18:\n dup1\n 0x9cfbdfc5\n eq\n tag_10\n jumpi\n dup1\n 0xa82948d4\n eq\n tag_11\n jumpi\n dup1\n 0xb5eaac43\n eq\n tag_12\n jumpi\n jump(tag_2)\n tag_17:\n dup1\n 0x51b14e57\n gt\n tag_19\n jumpi\n dup1\n 0x51b14e57\n eq\n tag_3\n jumpi\n dup1\n 0x813667a0\n eq\n tag_3\n jumpi\n dup1\n 0x8fd5ce49\n eq\n tag_8\n jumpi\n dup1\n 0x98a76477\n eq\n tag_9\n jumpi\n jump(tag_2)\n tag_19:\n dup1\n 0x07f7c6dc\n eq\n tag_3\n jumpi\n dup1\n 0x0922ee17\n eq\n tag_3\n jumpi\n dup1\n 0x414be337\n eq\n tag_5\n jumpi\n tag_2:\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x35\n 0x24\n dup3\n add\n mstore\n 0x436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b20\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0x58, 0x6e6f7220726563656976652066756e6374696f6e73)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\n /* \"RelayEncoderInstance.sol\":1679:1847 function encodeSetController(uint256 controller)... */\n tag_3:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_22\n jump\t// in\n tag_21:\n pop\n /* \"RelayEncoderInstance.sol\":1827:1840 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n swap1\n /* \"RelayEncoderInstance.sol\":1679:1847 function encodeSetController(uint256 controller)... */\n jump\n tag_20:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"RelayEncoderInstance.sol\":1498:1673 function encodeSetPayee(bytes memory rewardDestination)... */\n tag_5:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_32\n jump\t// in\n /* \"RelayEncoderInstance.sol\":2554:2751 function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) ... */\n tag_8:\n tag_20\n tag_44\n calldatasize\n 0x04\n tag_45\n jump\t// in\n tag_44:\n /* \"RelayEncoderInstance.sol\":2731:2744 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n /* \"RelayEncoderInstance.sol\":2554:2751 function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) ... */\n swap4\n swap3\n pop\n pop\n pop\n jump\n /* \"RelayEncoderInstance.sol\":2220:2374 function encodeHrmpAcceptOpenChannel(uint32 sender)... */\n tag_9:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_50\n jump\t// in\n /* \"RelayEncoderInstance.sol\":2381:2548 function encodeHrmpCloseChannel(uint32 sender, uint32 recipient)... */\n tag_10:\n tag_20\n tag_54\n calldatasize\n 0x04\n tag_55\n jump\t// in\n tag_54:\n pop\n pop\n /* \"RelayEncoderInstance.sol\":2528:2541 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n swap1\n /* \"RelayEncoderInstance.sol\":2381:2548 function encodeHrmpCloseChannel(uint32 sender, uint32 recipient)... */\n jump\n /* \"RelayEncoderInstance.sol\":275:484 function encodeBond(... */\n tag_11:\n tag_20\n tag_44\n calldatasize\n 0x04\n tag_60\n jump\t// in\n /* \"RelayEncoderInstance.sol\":1350:1492 function encodeChill()... */\n tag_12:\n /* \"RelayEncoderInstance.sol\":1472:1485 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n /* \"RelayEncoderInstance.sol\":1350:1492 function encodeChill()... */\n jump(tag_20)\n /* \"RelayEncoderInstance.sol\":992:1168 function encodeValidate(uint256 comission, bool blocked)... */\n tag_13:\n tag_20\n tag_54\n calldatasize\n 0x04\n tag_68\n jump\t// in\n /* \"RelayEncoderInstance.sol\":1174:1344 function encodeNominate(uint256[] memory nominees)... */\n tag_14:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_73\n jump\t// in\n /* \"#utility.yul\":14:389 */\n tag_98:\n /* \"#utility.yul\":136:138 */\n 0x40\n /* \"#utility.yul\":130:139 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":148:180 */\n dup2\n mstore\n /* \"#utility.yul\":211:215 */\n 0x20\n /* \"#utility.yul\":207:208 */\n 0x04\n /* \"#utility.yul\":196:209 */\n dup3\n add\n /* \"#utility.yul\":189:216 */\n mstore\n /* \"#utility.yul\":248:250 */\n 0x22\n /* \"#utility.yul\":243:245 */\n 0x24\n /* \"#utility.yul\":232:246 */\n dup3\n add\n /* \"#utility.yul\":225:251 */\n mstore\n /* \"#utility.yul\":283:317 */\n 0x414249206465636f64696e673a207475706c65206461746120746f6f2073686f\n /* \"#utility.yul\":278:280 */\n 0x44\n /* \"#utility.yul\":267:281 */\n dup3\n add\n /* \"#utility.yul\":260:318 */\n mstore\n shl(0xf2, 0x1c9d)\n /* \"#utility.yul\":345:348 */\n 0x64\n /* \"#utility.yul\":334:349 */\n dup3\n add\n /* \"#utility.yul\":327:356 */\n mstore\n /* \"#utility.yul\":379:382 */\n 0x84\n /* \"#utility.yul\":130:139 */\n dup2\n /* \"#utility.yul\":365:383 */\n revert\n /* \"#utility.yul\":394:769 */\n tag_99:\n /* \"#utility.yul\":516:518 */\n 0x40\n /* \"#utility.yul\":510:519 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":528:560 */\n dup2\n mstore\n /* \"#utility.yul\":591:595 */\n 0x20\n /* \"#utility.yul\":587:588 */\n 0x04\n /* \"#utility.yul\":576:589 */\n dup3\n add\n /* \"#utility.yul\":569:596 */\n mstore\n /* \"#utility.yul\":628:630 */\n 0x22\n /* \"#utility.yul\":623:625 */\n 0x24\n /* \"#utility.yul\":612:626 */\n dup3\n add\n /* \"#utility.yul\":605:631 */\n mstore\n /* \"#utility.yul\":663:697 */\n 0x414249206465636f64696e673a20696e76616c6964207475706c65206f666673\n /* \"#utility.yul\":658:660 */\n 0x44\n /* \"#utility.yul\":647:661 */\n dup3\n add\n /* \"#utility.yul\":640:698 */\n mstore\n shl(0xf2, 0x195d)\n /* \"#utility.yul\":725:728 */\n 0x64\n /* \"#utility.yul\":714:729 */\n dup3\n add\n /* \"#utility.yul\":707:736 */\n mstore\n /* \"#utility.yul\":759:762 */\n 0x84\n /* \"#utility.yul\":510:519 */\n dup2\n /* \"#utility.yul\":745:763 */\n revert\n /* \"#utility.yul\":774:1049 */\n tag_22:\n /* \"#utility.yul\":833:839 */\n 0x00\n /* \"#utility.yul\":886:888 */\n 0x20\n /* \"#utility.yul\":874:883 */\n dup3\n /* \"#utility.yul\":865:872 */\n dup5\n /* \"#utility.yul\":861:884 */\n sub\n /* \"#utility.yul\":857:889 */\n slt\n /* \"#utility.yul\":854:1001 */\n iszero\n tag_110\n jumpi\n /* \"#utility.yul\":912:991 */\n tag_110\n tag_98\n jump\t// in\n tag_110:\n pop\n /* \"#utility.yul\":1020:1043 */\n calldataload\n swap2\n /* \"#utility.yul\":774:1049 */\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1054:1600 */\n tag_25:\n /* \"#utility.yul\":1164:1168 */\n 0x00\n /* \"#utility.yul\":1193:1195 */\n 0x20\n /* \"#utility.yul\":1222:1224 */\n dup1\n /* \"#utility.yul\":1211:1220 */\n dup4\n /* \"#utility.yul\":1204:1225 */\n mstore\n /* \"#utility.yul\":1254:1260 */\n dup4\n /* \"#utility.yul\":1248:1261 */\n mload\n /* \"#utility.yul\":1297:1303 */\n dup1\n /* \"#utility.yul\":1292:1294 */\n dup3\n /* \"#utility.yul\":1281:1290 */\n dup6\n /* \"#utility.yul\":1277:1295 */\n add\n /* \"#utility.yul\":1270:1304 */\n mstore\n /* \"#utility.yul\":1322:1323 */\n 0x00\n /* \"#utility.yul\":1332:1472 */\n tag_112:\n /* \"#utility.yul\":1346:1352 */\n dup2\n /* \"#utility.yul\":1343:1344 */\n dup2\n /* \"#utility.yul\":1340:1353 */\n lt\n /* \"#utility.yul\":1332:1472 */\n iszero\n tag_114\n jumpi\n /* \"#utility.yul\":1441:1455 */\n dup6\n dup2\n add\n /* \"#utility.yul\":1437:1460 */\n dup4\n add\n /* \"#utility.yul\":1431:1461 */\n mload\n /* \"#utility.yul\":1407:1424 */\n dup6\n dup3\n add\n /* \"#utility.yul\":1426:1428 */\n 0x40\n /* \"#utility.yul\":1403:1429 */\n add\n /* \"#utility.yul\":1396:1462 */\n mstore\n /* \"#utility.yul\":1361:1371 */\n dup3\n add\n /* \"#utility.yul\":1332:1472 */\n jump(tag_112)\n tag_114:\n /* \"#utility.yul\":1336:1339 */\n pop\n /* \"#utility.yul\":1521:1522 */\n 0x00\n /* \"#utility.yul\":1516:1518 */\n 0x40\n /* \"#utility.yul\":1507:1513 */\n dup3\n /* \"#utility.yul\":1496:1505 */\n dup7\n /* \"#utility.yul\":1492:1514 */\n add\n /* \"#utility.yul\":1488:1519 */\n add\n /* \"#utility.yul\":1481:1523 */\n mstore\n /* \"#utility.yul\":1591:1593 */\n 0x40\n /* \"#utility.yul\":1584:1586 */\n 0x1f\n /* \"#utility.yul\":1580:1587 */\n not\n /* \"#utility.yul\":1575:1577 */\n 0x1f\n /* \"#utility.yul\":1567:1573 */\n dup4\n /* \"#utility.yul\":1563:1578 */\n add\n /* \"#utility.yul\":1559:1588 */\n and\n /* \"#utility.yul\":1548:1557 */\n dup6\n /* \"#utility.yul\":1544:1589 */\n add\n /* \"#utility.yul\":1540:1594 */\n add\n /* \"#utility.yul\":1532:1594 */\n swap3\n pop\n pop\n pop\n /* \"#utility.yul\":1054:1600 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1605:1989 */\n tag_100:\n /* \"#utility.yul\":1727:1729 */\n 0x40\n /* \"#utility.yul\":1721:1730 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":1739:1771 */\n dup2\n mstore\n /* \"#utility.yul\":1802:1806 */\n 0x20\n /* \"#utility.yul\":1798:1799 */\n 0x04\n /* \"#utility.yul\":1787:1800 */\n dup3\n add\n /* \"#utility.yul\":1780:1807 */\n mstore\n /* \"#utility.yul\":1839:1841 */\n 0x2b\n /* \"#utility.yul\":1834:1836 */\n 0x24\n /* \"#utility.yul\":1823:1837 */\n dup3\n add\n /* \"#utility.yul\":1816:1842 */\n mstore\n /* \"#utility.yul\":1874:1908 */\n 0x414249206465636f64696e673a20696e76616c69642063616c6c646174612061\n /* \"#utility.yul\":1869:1871 */\n 0x44\n /* \"#utility.yul\":1858:1872 */\n dup3\n add\n /* \"#utility.yul\":1851:1909 */\n mstore\n shl(0xaa, 0x1c9c985e481bd9999cd95d)\n /* \"#utility.yul\":1936:1939 */\n 0x64\n /* \"#utility.yul\":1925:1940 */\n dup3\n add\n /* \"#utility.yul\":1918:1956 */\n mstore\n /* \"#utility.yul\":1979:1982 */\n 0x84\n /* \"#utility.yul\":1721:1730 */\n dup2\n /* \"#utility.yul\":1965:1983 */\n revert\n /* \"#utility.yul\":1994:2121 */\n tag_101:\n /* \"#utility.yul\":2055:2065 */\n 0x4e487b71\n /* \"#utility.yul\":2050:2053 */\n 0xe0\n /* \"#utility.yul\":2046:2066 */\n shl\n /* \"#utility.yul\":2043:2044 */\n 0x00\n /* \"#utility.yul\":2036:2067 */\n mstore\n /* \"#utility.yul\":2086:2090 */\n 0x41\n /* \"#utility.yul\":2083:2084 */\n 0x04\n /* \"#utility.yul\":2076:2091 */\n mstore\n /* \"#utility.yul\":2110:2114 */\n 0x24\n /* \"#utility.yul\":2107:2108 */\n 0x00\n /* \"#utility.yul\":2100:2115 */\n revert\n /* \"#utility.yul\":2126:2401 */\n tag_102:\n /* \"#utility.yul\":2197:2199 */\n 0x40\n /* \"#utility.yul\":2191:2200 */\n mload\n /* \"#utility.yul\":2262:2264 */\n 0x1f\n /* \"#utility.yul\":2243:2256 */\n dup3\n add\n not(0x1f)\n /* \"#utility.yul\":2239:2266 */\n and\n /* \"#utility.yul\":2227:2267 */\n dup2\n add\n /* \"#utility.yul\":2297:2315 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2282:2316 */\n dup2\n gt\n /* \"#utility.yul\":2318:2340 */\n dup3\n dup3\n lt\n /* \"#utility.yul\":2279:2341 */\n or\n /* \"#utility.yul\":2276:2364 */\n iszero\n tag_119\n jumpi\n /* \"#utility.yul\":2344:2362 */\n tag_119\n tag_101\n jump\t// in\n tag_119:\n /* \"#utility.yul\":2380:2382 */\n 0x40\n /* \"#utility.yul\":2373:2395 */\n mstore\n /* \"#utility.yul\":2126:2401 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2406:3353 */\n tag_103:\n /* \"#utility.yul\":2448:2453 */\n 0x00\n /* \"#utility.yul\":2501:2504 */\n dup3\n /* \"#utility.yul\":2494:2498 */\n 0x1f\n /* \"#utility.yul\":2486:2492 */\n dup4\n /* \"#utility.yul\":2482:2499 */\n add\n /* \"#utility.yul\":2478:2505 */\n slt\n /* \"#utility.yul\":2468:2618 */\n tag_122\n jumpi\n /* \"#utility.yul\":2529:2608 */\n tag_122\n tag_100\n jump\t// in\n tag_122:\n /* \"#utility.yul\":2650:2656 */\n dup2\n /* \"#utility.yul\":2637:2657 */\n calldataload\n /* \"#utility.yul\":2676:2680 */\n 0x20\n /* \"#utility.yul\":2699:2717 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2695:2697 */\n dup3\n /* \"#utility.yul\":2692:2718 */\n gt\n /* \"#utility.yul\":2689:2741 */\n iszero\n tag_124\n jumpi\n /* \"#utility.yul\":2721:2739 */\n tag_124\n tag_101\n jump\t// in\n tag_124:\n /* \"#utility.yul\":2765:2818 */\n tag_125\n /* \"#utility.yul\":2808:2810 */\n 0x1f\n /* \"#utility.yul\":2789:2802 */\n dup4\n add\n not(0x1f)\n /* \"#utility.yul\":2785:2812 */\n and\n /* \"#utility.yul\":2781:2817 */\n dup3\n add\n /* \"#utility.yul\":2765:2818 */\n tag_102\n jump\t// in\n tag_125:\n /* \"#utility.yul\":2843:2845 */\n dup3\n /* \"#utility.yul\":2834:2841 */\n dup2\n /* \"#utility.yul\":2827:2846 */\n mstore\n /* \"#utility.yul\":2887:2890 */\n dup6\n /* \"#utility.yul\":2882:2884 */\n dup3\n /* \"#utility.yul\":2877:2879 */\n dup5\n /* \"#utility.yul\":2869:2875 */\n dup8\n /* \"#utility.yul\":2865:2880 */\n add\n /* \"#utility.yul\":2861:2885 */\n add\n /* \"#utility.yul\":2858:2891 */\n gt\n /* \"#utility.yul\":2855:3217 */\n iszero\n tag_126\n jumpi\n /* \"#utility.yul\":2933:2935 */\n 0x40\n /* \"#utility.yul\":2927:2936 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":2949:2981 */\n dup2\n mstore\n /* \"#utility.yul\":3012:3013 */\n 0x04\n /* \"#utility.yul\":3001:3014 */\n dup2\n add\n /* \"#utility.yul\":2994:3019 */\n dup4\n swap1\n mstore\n /* \"#utility.yul\":3055:3057 */\n 0x27\n /* \"#utility.yul\":3050:3052 */\n 0x24\n /* \"#utility.yul\":3039:3053 */\n dup3\n add\n /* \"#utility.yul\":3032:3058 */\n mstore\n /* \"#utility.yul\":3094:3128 */\n 0x414249206465636f64696e673a20696e76616c69642062797465206172726179\n /* \"#utility.yul\":3089:3091 */\n 0x44\n /* \"#utility.yul\":3078:3092 */\n dup3\n add\n /* \"#utility.yul\":3071:3129 */\n mstore\n shl(0xcb, 0x040d8cadccee8d)\n /* \"#utility.yul\":3160:3163 */\n 0x64\n /* \"#utility.yul\":3149:3164 */\n dup3\n add\n /* \"#utility.yul\":3142:3176 */\n mstore\n /* \"#utility.yul\":3203:3206 */\n 0x84\n /* \"#utility.yul\":2927:2936 */\n dup2\n /* \"#utility.yul\":3189:3207 */\n revert\n /* \"#utility.yul\":2855:3217 */\n tag_126:\n /* \"#utility.yul\":3274:3276 */\n dup3\n /* \"#utility.yul\":3269:3271 */\n dup3\n /* \"#utility.yul\":3261:3267 */\n dup7\n /* \"#utility.yul\":3257:3272 */\n add\n /* \"#utility.yul\":3252:3254 */\n dup4\n /* \"#utility.yul\":3243:3250 */\n dup4\n /* \"#utility.yul\":3239:3255 */\n add\n /* \"#utility.yul\":3226:3277 */\n calldatacopy\n /* \"#utility.yul\":3320:3321 */\n 0x00\n /* \"#utility.yul\":3297:3313 */\n swap3\n dup2\n add\n /* \"#utility.yul\":3293:3318 */\n swap1\n swap2\n add\n /* \"#utility.yul\":3286:3322 */\n swap2\n swap1\n swap2\n mstore\n /* \"#utility.yul\":3301:3308 */\n swap4\n /* \"#utility.yul\":2406:3353 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3358:3868 */\n tag_32:\n /* \"#utility.yul\":3426:3432 */\n 0x00\n /* \"#utility.yul\":3479:3481 */\n 0x20\n /* \"#utility.yul\":3467:3476 */\n dup3\n /* \"#utility.yul\":3458:3465 */\n dup5\n /* \"#utility.yul\":3454:3477 */\n sub\n /* \"#utility.yul\":3450:3482 */\n slt\n /* \"#utility.yul\":3447:3594 */\n iszero\n tag_129\n jumpi\n /* \"#utility.yul\":3505:3584 */\n tag_129\n tag_98\n jump\t// in\n tag_129:\n /* \"#utility.yul\":3630:3639 */\n dup2\n /* \"#utility.yul\":3617:3640 */\n calldataload\n /* \"#utility.yul\":3663:3681 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3655:3661 */\n dup2\n /* \"#utility.yul\":3652:3682 */\n gt\n /* \"#utility.yul\":3649:3794 */\n iszero\n tag_131\n jumpi\n /* \"#utility.yul\":3705:3784 */\n tag_131\n tag_99\n jump\t// in\n tag_131:\n /* \"#utility.yul\":3813:3862 */\n tag_132\n /* \"#utility.yul\":3854:3861 */\n dup5\n /* \"#utility.yul\":3845:3851 */\n dup3\n /* \"#utility.yul\":3834:3843 */\n dup6\n /* \"#utility.yul\":3830:3852 */\n add\n /* \"#utility.yul\":3813:3862 */\n tag_103\n jump\t// in\n tag_132:\n /* \"#utility.yul\":3803:3862 */\n swap5\n /* \"#utility.yul\":3358:3868 */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3873:4036 */\n tag_104:\n /* \"#utility.yul\":3940:3960 */\n dup1\n calldataload\n /* \"#utility.yul\":4000:4010 */\n 0xffffffff\n /* \"#utility.yul\":3989:4011 */\n dup2\n and\n /* \"#utility.yul\":3979:4012 */\n dup2\n eq\n /* \"#utility.yul\":3969:4030 */\n tag_134\n jumpi\n /* \"#utility.yul\":4026:4027 */\n 0x00\n /* \"#utility.yul\":4023:4024 */\n dup1\n /* \"#utility.yul\":4016:4028 */\n revert\n /* \"#utility.yul\":3969:4030 */\n tag_134:\n /* \"#utility.yul\":3873:4036 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4041:4464 */\n tag_45:\n /* \"#utility.yul\":4115:4121 */\n 0x00\n /* \"#utility.yul\":4123:4129 */\n dup1\n /* \"#utility.yul\":4131:4137 */\n 0x00\n /* \"#utility.yul\":4184:4186 */\n 0x60\n /* \"#utility.yul\":4172:4181 */\n dup5\n /* \"#utility.yul\":4163:4170 */\n dup7\n /* \"#utility.yul\":4159:4182 */\n sub\n /* \"#utility.yul\":4155:4187 */\n slt\n /* \"#utility.yul\":4152:4299 */\n iszero\n tag_137\n jumpi\n /* \"#utility.yul\":4210:4289 */\n tag_137\n tag_98\n jump\t// in\n tag_137:\n /* \"#utility.yul\":4318:4346 */\n tag_138\n /* \"#utility.yul\":4336:4345 */\n dup5\n /* \"#utility.yul\":4318:4346 */\n tag_104\n jump\t// in\n tag_138:\n /* \"#utility.yul\":4308:4346 */\n swap3\n pop\n /* \"#utility.yul\":4365:4402 */\n tag_139\n /* \"#utility.yul\":4398:4400 */\n 0x20\n /* \"#utility.yul\":4387:4396 */\n dup6\n /* \"#utility.yul\":4383:4401 */\n add\n /* \"#utility.yul\":4365:4402 */\n tag_104\n jump\t// in\n tag_139:\n /* \"#utility.yul\":4355:4402 */\n swap2\n pop\n /* \"#utility.yul\":4421:4458 */\n tag_140\n /* \"#utility.yul\":4454:4456 */\n 0x40\n /* \"#utility.yul\":4443:4452 */\n dup6\n /* \"#utility.yul\":4439:4457 */\n add\n /* \"#utility.yul\":4421:4458 */\n tag_104\n jump\t// in\n tag_140:\n /* \"#utility.yul\":4411:4458 */\n swap1\n pop\n /* \"#utility.yul\":4041:4464 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":4469:4748 */\n tag_50:\n /* \"#utility.yul\":4527:4533 */\n 0x00\n /* \"#utility.yul\":4580:4582 */\n 0x20\n /* \"#utility.yul\":4568:4577 */\n dup3\n /* \"#utility.yul\":4559:4566 */\n dup5\n /* \"#utility.yul\":4555:4578 */\n sub\n /* \"#utility.yul\":4551:4583 */\n slt\n /* \"#utility.yul\":4548:4695 */\n iszero\n tag_143\n jumpi\n /* \"#utility.yul\":4606:4685 */\n tag_143\n tag_98\n jump\t// in\n tag_143:\n /* \"#utility.yul\":4714:4742 */\n tag_144\n /* \"#utility.yul\":4732:4741 */\n dup3\n /* \"#utility.yul\":4714:4742 */\n tag_104\n jump\t// in\n tag_144:\n /* \"#utility.yul\":4704:4742 */\n swap4\n /* \"#utility.yul\":4469:4748 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4753:5104 */\n tag_55:\n /* \"#utility.yul\":4819:4825 */\n 0x00\n /* \"#utility.yul\":4827:4833 */\n dup1\n /* \"#utility.yul\":4880:4882 */\n 0x40\n /* \"#utility.yul\":4868:4877 */\n dup4\n /* \"#utility.yul\":4859:4866 */\n dup6\n /* \"#utility.yul\":4855:4878 */\n sub\n /* \"#utility.yul\":4851:4883 */\n slt\n /* \"#utility.yul\":4848:4995 */\n iszero\n tag_147\n jumpi\n /* \"#utility.yul\":4906:4985 */\n tag_147\n tag_98\n jump\t// in\n tag_147:\n /* \"#utility.yul\":5014:5042 */\n tag_148\n /* \"#utility.yul\":5032:5041 */\n dup4\n /* \"#utility.yul\":5014:5042 */\n tag_104\n jump\t// in\n tag_148:\n /* \"#utility.yul\":5004:5042 */\n swap2\n pop\n /* \"#utility.yul\":5061:5098 */\n tag_149\n /* \"#utility.yul\":5094:5096 */\n 0x20\n /* \"#utility.yul\":5083:5092 */\n dup5\n /* \"#utility.yul\":5079:5097 */\n add\n /* \"#utility.yul\":5061:5098 */\n tag_104\n jump\t// in\n tag_149:\n /* \"#utility.yul\":5051:5098 */\n swap1\n pop\n /* \"#utility.yul\":4753:5104 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5109:5755 */\n tag_60:\n /* \"#utility.yul\":5195:5201 */\n 0x00\n /* \"#utility.yul\":5203:5209 */\n dup1\n /* \"#utility.yul\":5211:5217 */\n 0x00\n /* \"#utility.yul\":5264:5266 */\n 0x60\n /* \"#utility.yul\":5252:5261 */\n dup5\n /* \"#utility.yul\":5243:5250 */\n dup7\n /* \"#utility.yul\":5239:5262 */\n sub\n /* \"#utility.yul\":5235:5267 */\n slt\n /* \"#utility.yul\":5232:5379 */\n iszero\n tag_152\n jumpi\n /* \"#utility.yul\":5290:5369 */\n tag_152\n tag_98\n jump\t// in\n tag_152:\n /* \"#utility.yul\":5411:5420 */\n dup4\n /* \"#utility.yul\":5398:5421 */\n calldataload\n /* \"#utility.yul\":5388:5421 */\n swap3\n pop\n /* \"#utility.yul\":5468:5470 */\n 0x20\n /* \"#utility.yul\":5457:5466 */\n dup5\n /* \"#utility.yul\":5453:5471 */\n add\n /* \"#utility.yul\":5440:5472 */\n calldataload\n /* \"#utility.yul\":5430:5472 */\n swap2\n pop\n /* \"#utility.yul\":5523:5525 */\n 0x40\n /* \"#utility.yul\":5512:5521 */\n dup5\n /* \"#utility.yul\":5508:5526 */\n add\n /* \"#utility.yul\":5495:5527 */\n calldataload\n /* \"#utility.yul\":5550:5568 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5542:5548 */\n dup2\n /* \"#utility.yul\":5539:5569 */\n gt\n /* \"#utility.yul\":5536:5681 */\n iszero\n tag_154\n jumpi\n /* \"#utility.yul\":5592:5671 */\n tag_154\n tag_99\n jump\t// in\n tag_154:\n /* \"#utility.yul\":5700:5749 */\n tag_155\n /* \"#utility.yul\":5741:5748 */\n dup7\n /* \"#utility.yul\":5732:5738 */\n dup3\n /* \"#utility.yul\":5721:5730 */\n dup8\n /* \"#utility.yul\":5717:5739 */\n add\n /* \"#utility.yul\":5700:5749 */\n tag_103\n jump\t// in\n tag_155:\n /* \"#utility.yul\":5690:5749 */\n swap2\n pop\n pop\n /* \"#utility.yul\":5109:5755 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":5760:6196 */\n tag_68:\n /* \"#utility.yul\":5825:5831 */\n 0x00\n /* \"#utility.yul\":5833:5839 */\n dup1\n /* \"#utility.yul\":5886:5888 */\n 0x40\n /* \"#utility.yul\":5874:5883 */\n dup4\n /* \"#utility.yul\":5865:5872 */\n dup6\n /* \"#utility.yul\":5861:5884 */\n sub\n /* \"#utility.yul\":5857:5889 */\n slt\n /* \"#utility.yul\":5854:6001 */\n iszero\n tag_158\n jumpi\n /* \"#utility.yul\":5912:5991 */\n tag_158\n tag_98\n jump\t// in\n tag_158:\n /* \"#utility.yul\":6033:6042 */\n dup3\n /* \"#utility.yul\":6020:6043 */\n calldataload\n /* \"#utility.yul\":6010:6043 */\n swap2\n pop\n /* \"#utility.yul\":6093:6095 */\n 0x20\n /* \"#utility.yul\":6082:6091 */\n dup4\n /* \"#utility.yul\":6078:6096 */\n add\n /* \"#utility.yul\":6065:6097 */\n calldataload\n /* \"#utility.yul\":6140:6145 */\n dup1\n /* \"#utility.yul\":6133:6146 */\n iszero\n /* \"#utility.yul\":6126:6147 */\n iszero\n /* \"#utility.yul\":6119:6124 */\n dup2\n /* \"#utility.yul\":6116:6148 */\n eq\n /* \"#utility.yul\":6106:6166 */\n tag_159\n jumpi\n /* \"#utility.yul\":6162:6163 */\n 0x00\n /* \"#utility.yul\":6159:6160 */\n dup1\n /* \"#utility.yul\":6152:6164 */\n revert\n /* \"#utility.yul\":6106:6166 */\n tag_159:\n /* \"#utility.yul\":6185:6190 */\n dup1\n /* \"#utility.yul\":6175:6190 */\n swap2\n pop\n pop\n /* \"#utility.yul\":5760:6196 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6201:7745 */\n tag_73:\n /* \"#utility.yul\":6285:6291 */\n 0x00\n /* \"#utility.yul\":6316:6318 */\n 0x20\n /* \"#utility.yul\":6359:6361 */\n dup1\n /* \"#utility.yul\":6347:6356 */\n dup4\n /* \"#utility.yul\":6338:6345 */\n dup6\n /* \"#utility.yul\":6334:6357 */\n sub\n /* \"#utility.yul\":6330:6362 */\n slt\n /* \"#utility.yul\":6327:6474 */\n iszero\n tag_162\n jumpi\n /* \"#utility.yul\":6385:6464 */\n tag_162\n tag_98\n jump\t// in\n tag_162:\n /* \"#utility.yul\":6510:6519 */\n dup3\n /* \"#utility.yul\":6497:6520 */\n calldataload\n /* \"#utility.yul\":6539:6557 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6580:6582 */\n dup1\n /* \"#utility.yul\":6572:6578 */\n dup3\n /* \"#utility.yul\":6569:6583 */\n gt\n /* \"#utility.yul\":6566:6695 */\n iszero\n tag_164\n jumpi\n /* \"#utility.yul\":6606:6685 */\n tag_164\n tag_99\n jump\t// in\n tag_164:\n /* \"#utility.yul\":6729:6735 */\n dup2\n /* \"#utility.yul\":6718:6727 */\n dup6\n /* \"#utility.yul\":6714:6736 */\n add\n /* \"#utility.yul\":6704:6736 */\n swap2\n pop\n /* \"#utility.yul\":6774:6781 */\n dup6\n /* \"#utility.yul\":6767:6771 */\n 0x1f\n /* \"#utility.yul\":6763:6765 */\n dup4\n /* \"#utility.yul\":6759:6772 */\n add\n /* \"#utility.yul\":6755:6782 */\n slt\n /* \"#utility.yul\":6745:6895 */\n tag_166\n jumpi\n /* \"#utility.yul\":6806:6885 */\n tag_166\n tag_100\n jump\t// in\n tag_166:\n /* \"#utility.yul\":6927:6929 */\n dup2\n /* \"#utility.yul\":6914:6930 */\n calldataload\n /* \"#utility.yul\":6949:6951 */\n dup2\n /* \"#utility.yul\":6945:6947 */\n dup2\n /* \"#utility.yul\":6942:6952 */\n gt\n /* \"#utility.yul\":6939:6975 */\n iszero\n tag_168\n jumpi\n /* \"#utility.yul\":6955:6973 */\n tag_168\n tag_101\n jump\t// in\n tag_168:\n /* \"#utility.yul\":7001:7003 */\n dup1\n /* \"#utility.yul\":6998:6999 */\n 0x05\n /* \"#utility.yul\":6994:7004 */\n shl\n /* \"#utility.yul\":6984:7004 */\n swap2\n pop\n /* \"#utility.yul\":7024:7052 */\n tag_169\n /* \"#utility.yul\":7048:7050 */\n dup5\n /* \"#utility.yul\":7044:7046 */\n dup4\n /* \"#utility.yul\":7040:7051 */\n add\n /* \"#utility.yul\":7024:7052 */\n tag_102\n jump\t// in\n tag_169:\n /* \"#utility.yul\":7086:7101 */\n dup2\n dup2\n mstore\n /* \"#utility.yul\":7156:7167 */\n swap2\n dup4\n add\n /* \"#utility.yul\":7152:7172 */\n dup5\n add\n swap2\n /* \"#utility.yul\":7117:7129 */\n dup5\n dup2\n add\n swap1\n /* \"#utility.yul\":7184:7203 */\n dup9\n dup5\n gt\n /* \"#utility.yul\":7181:7533 */\n iszero\n tag_170\n jumpi\n /* \"#utility.yul\":7245:7247 */\n 0x40\n /* \"#utility.yul\":7239:7248 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":7261:7293 */\n dup2\n mstore\n /* \"#utility.yul\":7324:7325 */\n 0x04\n /* \"#utility.yul\":7313:7326 */\n dup2\n add\n /* \"#utility.yul\":7306:7331 */\n dup8\n swap1\n mstore\n /* \"#utility.yul\":7367:7369 */\n 0x2b\n /* \"#utility.yul\":7362:7364 */\n 0x24\n /* \"#utility.yul\":7351:7365 */\n dup3\n add\n /* \"#utility.yul\":7344:7370 */\n mstore\n /* \"#utility.yul\":7406:7440 */\n 0x414249206465636f64696e673a20696e76616c69642063616c6c646174612061\n /* \"#utility.yul\":7401:7403 */\n 0x44\n /* \"#utility.yul\":7390:7404 */\n dup3\n add\n /* \"#utility.yul\":7383:7441 */\n mstore\n shl(0xa8, 0x7272617920737472696465)\n /* \"#utility.yul\":7472:7475 */\n 0x64\n /* \"#utility.yul\":7461:7476 */\n dup3\n add\n /* \"#utility.yul\":7454:7492 */\n mstore\n /* \"#utility.yul\":7239:7248 */\n swap3\n pop\n /* \"#utility.yul\":7519:7522 */\n 0x84\n /* \"#utility.yul\":7239:7248 */\n dup4\n /* \"#utility.yul\":7505:7523 */\n revert\n /* \"#utility.yul\":7181:7533 */\n tag_170:\n /* \"#utility.yul\":7553:7564 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":7573:7715 */\n tag_171:\n /* \"#utility.yul\":7589:7595 */\n dup4\n /* \"#utility.yul\":7584:7587 */\n dup6\n /* \"#utility.yul\":7581:7596 */\n lt\n /* \"#utility.yul\":7573:7715 */\n iszero\n tag_173\n jumpi\n /* \"#utility.yul\":7655:7672 */\n dup5\n calldataload\n /* \"#utility.yul\":7643:7673 */\n dup3\n mstore\n /* \"#utility.yul\":7606:7618 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":7693:7705 */\n swap1\n dup6\n add\n swap1\n /* \"#utility.yul\":7573:7715 */\n jump(tag_171)\n tag_173:\n /* \"#utility.yul\":7734:7739 */\n swap9\n /* \"#utility.yul\":6201:7745 */\n swap8\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220a497a5df1b271951b444eac872fe56936c6a78ff4bffc4d2cb362ba7deff0d3c64736f6c63430008130033\n}\n", + "assembly": " /* \"RelayEncoderInstance.sol\":223:2534 contract RelayEncoderInstance is RelayEncoder {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x22\n 0x24\n dup3\n add\n mstore\n 0x45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0xf1, 0x37b7)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"RelayEncoderInstance.sol\":223:2534 contract RelayEncoderInstance is RelayEncoder {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x22\n 0x24\n dup3\n add\n mstore\n 0x45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0xf1, 0x37b7)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x98a76477\n gt\n tag_17\n jumpi\n dup1\n 0xbb64ca0c\n gt\n tag_18\n jumpi\n dup1\n 0xbb64ca0c\n eq\n tag_13\n jumpi\n dup1\n 0xd5ad108e\n eq\n tag_10\n jumpi\n dup1\n 0xdcf06883\n eq\n tag_15\n jumpi\n dup1\n 0xe5e20a64\n eq\n tag_9\n jumpi\n jump(tag_2)\n tag_18:\n dup1\n 0x98a76477\n eq\n tag_10\n jumpi\n dup1\n 0x9cfbdfc5\n eq\n tag_11\n jumpi\n dup1\n 0xb5eaac43\n eq\n tag_4\n jumpi\n jump(tag_2)\n tag_17:\n dup1\n 0x51b14e57\n gt\n tag_19\n jumpi\n dup1\n 0x51b14e57\n eq\n tag_3\n jumpi\n dup1\n 0x72a9fbc6\n eq\n tag_7\n jumpi\n dup1\n 0x813667a0\n eq\n tag_3\n jumpi\n dup1\n 0x8fd5ce49\n eq\n tag_9\n jumpi\n jump(tag_2)\n tag_19:\n dup1\n 0x0922ee17\n eq\n tag_3\n jumpi\n dup1\n 0x15490616\n eq\n tag_4\n jumpi\n dup1\n 0x414be337\n eq\n tag_5\n jumpi\n tag_2:\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n 0x20\n 0x04\n dup3\n add\n mstore\n 0x35\n 0x24\n dup3\n add\n mstore\n 0x436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b20\n 0x44\n dup3\n add\n swap1\n dup2\n mstore\n shl(0x58, 0x6e6f7220726563656976652066756e6374696f6e73)\n 0x64\n dup4\n add\n mstore\n 0x84\n dup3\n revert\n /* \"RelayEncoderInstance.sol\":1677:1812 function encodeRebond(... */\n tag_3:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_22\n jump\t// in\n tag_21:\n pop\n /* \"RelayEncoderInstance.sol\":1792:1805 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n swap1\n /* \"RelayEncoderInstance.sol\":1677:1812 function encodeRebond(... */\n jump\n tag_20:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"RelayEncoderInstance.sol\":1521:1671 function encodeSetController()... */\n tag_4:\n /* \"RelayEncoderInstance.sol\":1651:1664 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n /* \"RelayEncoderInstance.sol\":1521:1671 function encodeSetController()... */\n jump(tag_20)\n /* \"RelayEncoderInstance.sol\":1362:1515 function encodeSetPayee(... */\n tag_5:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_31\n jump\t// in\n /* \"RelayEncoderInstance.sol\":275:449 function encodeBond(... */\n tag_7:\n tag_20\n tag_39\n calldatasize\n 0x04\n tag_40\n jump\t// in\n tag_39:\n pop\n pop\n /* \"RelayEncoderInstance.sol\":429:442 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n swap1\n /* \"RelayEncoderInstance.sol\":275:449 function encodeBond(... */\n jump\n /* \"RelayEncoderInstance.sol\":2337:2532 function encodeHrmpCancelOpenRequest(... */\n tag_9:\n tag_20\n tag_48\n calldatasize\n 0x04\n tag_49\n jump\t// in\n tag_48:\n /* \"RelayEncoderInstance.sol\":2512:2525 return \"0x00\" */\n 0x40\n dup1\n mload\n dup1\n dup3\n add\n swap1\n swap2\n mstore\n 0x04\n dup2\n mstore\n shl(0xe4, 0x03078303)\n 0x20\n dup3\n add\n mstore\n /* \"RelayEncoderInstance.sol\":2337:2532 function encodeHrmpCancelOpenRequest(... */\n swap4\n swap3\n pop\n pop\n pop\n jump\n /* \"RelayEncoderInstance.sol\":2024:2164 function encodeHrmpAcceptOpenChannel(... */\n tag_10:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_54\n jump\t// in\n /* \"RelayEncoderInstance.sol\":2170:2331 function encodeHrmpCloseChannel(... */\n tag_11:\n tag_20\n tag_39\n calldatasize\n 0x04\n tag_59\n jump\t// in\n /* \"RelayEncoderInstance.sol\":891:1054 function encodeValidate(... */\n tag_13:\n tag_20\n tag_39\n calldatasize\n 0x04\n tag_67\n jump\t// in\n /* \"RelayEncoderInstance.sol\":1060:1208 function encodeNominate(... */\n tag_15:\n tag_20\n tag_21\n calldatasize\n 0x04\n tag_76\n jump\t// in\n /* \"#utility.yul\":14:389 */\n tag_97:\n /* \"#utility.yul\":136:138 */\n 0x40\n /* \"#utility.yul\":130:139 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":148:180 */\n dup2\n mstore\n /* \"#utility.yul\":211:215 */\n 0x20\n /* \"#utility.yul\":207:208 */\n 0x04\n /* \"#utility.yul\":196:209 */\n dup3\n add\n /* \"#utility.yul\":189:216 */\n mstore\n /* \"#utility.yul\":248:250 */\n 0x22\n /* \"#utility.yul\":243:245 */\n 0x24\n /* \"#utility.yul\":232:246 */\n dup3\n add\n /* \"#utility.yul\":225:251 */\n mstore\n /* \"#utility.yul\":283:317 */\n 0x414249206465636f64696e673a207475706c65206461746120746f6f2073686f\n /* \"#utility.yul\":278:280 */\n 0x44\n /* \"#utility.yul\":267:281 */\n dup3\n add\n /* \"#utility.yul\":260:318 */\n mstore\n shl(0xf2, 0x1c9d)\n /* \"#utility.yul\":345:348 */\n 0x64\n /* \"#utility.yul\":334:349 */\n dup3\n add\n /* \"#utility.yul\":327:356 */\n mstore\n /* \"#utility.yul\":379:382 */\n 0x84\n /* \"#utility.yul\":130:139 */\n dup2\n /* \"#utility.yul\":365:383 */\n revert\n /* \"#utility.yul\":394:769 */\n tag_98:\n /* \"#utility.yul\":516:518 */\n 0x40\n /* \"#utility.yul\":510:519 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":528:560 */\n dup2\n mstore\n /* \"#utility.yul\":591:595 */\n 0x20\n /* \"#utility.yul\":587:588 */\n 0x04\n /* \"#utility.yul\":576:589 */\n dup3\n add\n /* \"#utility.yul\":569:596 */\n mstore\n /* \"#utility.yul\":628:630 */\n 0x22\n /* \"#utility.yul\":623:625 */\n 0x24\n /* \"#utility.yul\":612:626 */\n dup3\n add\n /* \"#utility.yul\":605:631 */\n mstore\n /* \"#utility.yul\":663:697 */\n 0x414249206465636f64696e673a20696e76616c6964207475706c65206f666673\n /* \"#utility.yul\":658:660 */\n 0x44\n /* \"#utility.yul\":647:661 */\n dup3\n add\n /* \"#utility.yul\":640:698 */\n mstore\n shl(0xf2, 0x195d)\n /* \"#utility.yul\":725:728 */\n 0x64\n /* \"#utility.yul\":714:729 */\n dup3\n add\n /* \"#utility.yul\":707:736 */\n mstore\n /* \"#utility.yul\":759:762 */\n 0x84\n /* \"#utility.yul\":510:519 */\n dup2\n /* \"#utility.yul\":745:763 */\n revert\n /* \"#utility.yul\":774:1049 */\n tag_22:\n /* \"#utility.yul\":833:839 */\n 0x00\n /* \"#utility.yul\":886:888 */\n 0x20\n /* \"#utility.yul\":874:883 */\n dup3\n /* \"#utility.yul\":865:872 */\n dup5\n /* \"#utility.yul\":861:884 */\n sub\n /* \"#utility.yul\":857:889 */\n slt\n /* \"#utility.yul\":854:1001 */\n iszero\n tag_109\n jumpi\n /* \"#utility.yul\":912:991 */\n tag_109\n tag_97\n jump\t// in\n tag_109:\n pop\n /* \"#utility.yul\":1020:1043 */\n calldataload\n swap2\n /* \"#utility.yul\":774:1049 */\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1054:1600 */\n tag_25:\n /* \"#utility.yul\":1164:1168 */\n 0x00\n /* \"#utility.yul\":1193:1195 */\n 0x20\n /* \"#utility.yul\":1222:1224 */\n dup1\n /* \"#utility.yul\":1211:1220 */\n dup4\n /* \"#utility.yul\":1204:1225 */\n mstore\n /* \"#utility.yul\":1254:1260 */\n dup4\n /* \"#utility.yul\":1248:1261 */\n mload\n /* \"#utility.yul\":1297:1303 */\n dup1\n /* \"#utility.yul\":1292:1294 */\n dup3\n /* \"#utility.yul\":1281:1290 */\n dup6\n /* \"#utility.yul\":1277:1295 */\n add\n /* \"#utility.yul\":1270:1304 */\n mstore\n /* \"#utility.yul\":1322:1323 */\n 0x00\n /* \"#utility.yul\":1332:1472 */\n tag_111:\n /* \"#utility.yul\":1346:1352 */\n dup2\n /* \"#utility.yul\":1343:1344 */\n dup2\n /* \"#utility.yul\":1340:1353 */\n lt\n /* \"#utility.yul\":1332:1472 */\n iszero\n tag_113\n jumpi\n /* \"#utility.yul\":1441:1455 */\n dup6\n dup2\n add\n /* \"#utility.yul\":1437:1460 */\n dup4\n add\n /* \"#utility.yul\":1431:1461 */\n mload\n /* \"#utility.yul\":1407:1424 */\n dup6\n dup3\n add\n /* \"#utility.yul\":1426:1428 */\n 0x40\n /* \"#utility.yul\":1403:1429 */\n add\n /* \"#utility.yul\":1396:1462 */\n mstore\n /* \"#utility.yul\":1361:1371 */\n dup3\n add\n /* \"#utility.yul\":1332:1472 */\n jump(tag_111)\n tag_113:\n /* \"#utility.yul\":1336:1339 */\n pop\n /* \"#utility.yul\":1521:1522 */\n 0x00\n /* \"#utility.yul\":1516:1518 */\n 0x40\n /* \"#utility.yul\":1507:1513 */\n dup3\n /* \"#utility.yul\":1496:1505 */\n dup7\n /* \"#utility.yul\":1492:1514 */\n add\n /* \"#utility.yul\":1488:1519 */\n add\n /* \"#utility.yul\":1481:1523 */\n mstore\n /* \"#utility.yul\":1591:1593 */\n 0x40\n /* \"#utility.yul\":1584:1586 */\n 0x1f\n /* \"#utility.yul\":1580:1587 */\n not\n /* \"#utility.yul\":1575:1577 */\n 0x1f\n /* \"#utility.yul\":1567:1573 */\n dup4\n /* \"#utility.yul\":1563:1578 */\n add\n /* \"#utility.yul\":1559:1588 */\n and\n /* \"#utility.yul\":1548:1557 */\n dup6\n /* \"#utility.yul\":1544:1589 */\n add\n /* \"#utility.yul\":1540:1594 */\n add\n /* \"#utility.yul\":1532:1594 */\n swap3\n pop\n pop\n pop\n /* \"#utility.yul\":1054:1600 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1605:1989 */\n tag_99:\n /* \"#utility.yul\":1727:1729 */\n 0x40\n /* \"#utility.yul\":1721:1730 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":1739:1771 */\n dup2\n mstore\n /* \"#utility.yul\":1802:1806 */\n 0x20\n /* \"#utility.yul\":1798:1799 */\n 0x04\n /* \"#utility.yul\":1787:1800 */\n dup3\n add\n /* \"#utility.yul\":1780:1807 */\n mstore\n /* \"#utility.yul\":1839:1841 */\n 0x2b\n /* \"#utility.yul\":1834:1836 */\n 0x24\n /* \"#utility.yul\":1823:1837 */\n dup3\n add\n /* \"#utility.yul\":1816:1842 */\n mstore\n /* \"#utility.yul\":1874:1908 */\n 0x414249206465636f64696e673a20696e76616c69642063616c6c646174612061\n /* \"#utility.yul\":1869:1871 */\n 0x44\n /* \"#utility.yul\":1858:1872 */\n dup3\n add\n /* \"#utility.yul\":1851:1909 */\n mstore\n shl(0xaa, 0x1c9c985e481bd9999cd95d)\n /* \"#utility.yul\":1936:1939 */\n 0x64\n /* \"#utility.yul\":1925:1940 */\n dup3\n add\n /* \"#utility.yul\":1918:1956 */\n mstore\n /* \"#utility.yul\":1979:1982 */\n 0x84\n /* \"#utility.yul\":1721:1730 */\n dup2\n /* \"#utility.yul\":1965:1983 */\n revert\n /* \"#utility.yul\":1994:2121 */\n tag_100:\n /* \"#utility.yul\":2055:2065 */\n 0x4e487b71\n /* \"#utility.yul\":2050:2053 */\n 0xe0\n /* \"#utility.yul\":2046:2066 */\n shl\n /* \"#utility.yul\":2043:2044 */\n 0x00\n /* \"#utility.yul\":2036:2067 */\n mstore\n /* \"#utility.yul\":2086:2090 */\n 0x41\n /* \"#utility.yul\":2083:2084 */\n 0x04\n /* \"#utility.yul\":2076:2091 */\n mstore\n /* \"#utility.yul\":2110:2114 */\n 0x24\n /* \"#utility.yul\":2107:2108 */\n 0x00\n /* \"#utility.yul\":2100:2115 */\n revert\n /* \"#utility.yul\":2126:2401 */\n tag_101:\n /* \"#utility.yul\":2197:2199 */\n 0x40\n /* \"#utility.yul\":2191:2200 */\n mload\n /* \"#utility.yul\":2262:2264 */\n 0x1f\n /* \"#utility.yul\":2243:2256 */\n dup3\n add\n not(0x1f)\n /* \"#utility.yul\":2239:2266 */\n and\n /* \"#utility.yul\":2227:2267 */\n dup2\n add\n /* \"#utility.yul\":2297:2315 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2282:2316 */\n dup2\n gt\n /* \"#utility.yul\":2318:2340 */\n dup3\n dup3\n lt\n /* \"#utility.yul\":2279:2341 */\n or\n /* \"#utility.yul\":2276:2364 */\n iszero\n tag_118\n jumpi\n /* \"#utility.yul\":2344:2362 */\n tag_118\n tag_100\n jump\t// in\n tag_118:\n /* \"#utility.yul\":2380:2382 */\n 0x40\n /* \"#utility.yul\":2373:2395 */\n mstore\n /* \"#utility.yul\":2126:2401 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2406:3353 */\n tag_102:\n /* \"#utility.yul\":2448:2453 */\n 0x00\n /* \"#utility.yul\":2501:2504 */\n dup3\n /* \"#utility.yul\":2494:2498 */\n 0x1f\n /* \"#utility.yul\":2486:2492 */\n dup4\n /* \"#utility.yul\":2482:2499 */\n add\n /* \"#utility.yul\":2478:2505 */\n slt\n /* \"#utility.yul\":2468:2618 */\n tag_121\n jumpi\n /* \"#utility.yul\":2529:2608 */\n tag_121\n tag_99\n jump\t// in\n tag_121:\n /* \"#utility.yul\":2650:2656 */\n dup2\n /* \"#utility.yul\":2637:2657 */\n calldataload\n /* \"#utility.yul\":2676:2680 */\n 0x20\n /* \"#utility.yul\":2699:2717 */\n 0xffffffffffffffff\n /* \"#utility.yul\":2695:2697 */\n dup3\n /* \"#utility.yul\":2692:2718 */\n gt\n /* \"#utility.yul\":2689:2741 */\n iszero\n tag_123\n jumpi\n /* \"#utility.yul\":2721:2739 */\n tag_123\n tag_100\n jump\t// in\n tag_123:\n /* \"#utility.yul\":2765:2818 */\n tag_124\n /* \"#utility.yul\":2808:2810 */\n 0x1f\n /* \"#utility.yul\":2789:2802 */\n dup4\n add\n not(0x1f)\n /* \"#utility.yul\":2785:2812 */\n and\n /* \"#utility.yul\":2781:2817 */\n dup3\n add\n /* \"#utility.yul\":2765:2818 */\n tag_101\n jump\t// in\n tag_124:\n /* \"#utility.yul\":2843:2845 */\n dup3\n /* \"#utility.yul\":2834:2841 */\n dup2\n /* \"#utility.yul\":2827:2846 */\n mstore\n /* \"#utility.yul\":2887:2890 */\n dup6\n /* \"#utility.yul\":2882:2884 */\n dup3\n /* \"#utility.yul\":2877:2879 */\n dup5\n /* \"#utility.yul\":2869:2875 */\n dup8\n /* \"#utility.yul\":2865:2880 */\n add\n /* \"#utility.yul\":2861:2885 */\n add\n /* \"#utility.yul\":2858:2891 */\n gt\n /* \"#utility.yul\":2855:3217 */\n iszero\n tag_125\n jumpi\n /* \"#utility.yul\":2933:2935 */\n 0x40\n /* \"#utility.yul\":2927:2936 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":2949:2981 */\n dup2\n mstore\n /* \"#utility.yul\":3012:3013 */\n 0x04\n /* \"#utility.yul\":3001:3014 */\n dup2\n add\n /* \"#utility.yul\":2994:3019 */\n dup4\n swap1\n mstore\n /* \"#utility.yul\":3055:3057 */\n 0x27\n /* \"#utility.yul\":3050:3052 */\n 0x24\n /* \"#utility.yul\":3039:3053 */\n dup3\n add\n /* \"#utility.yul\":3032:3058 */\n mstore\n /* \"#utility.yul\":3094:3128 */\n 0x414249206465636f64696e673a20696e76616c69642062797465206172726179\n /* \"#utility.yul\":3089:3091 */\n 0x44\n /* \"#utility.yul\":3078:3092 */\n dup3\n add\n /* \"#utility.yul\":3071:3129 */\n mstore\n shl(0xcb, 0x040d8cadccee8d)\n /* \"#utility.yul\":3160:3163 */\n 0x64\n /* \"#utility.yul\":3149:3164 */\n dup3\n add\n /* \"#utility.yul\":3142:3176 */\n mstore\n /* \"#utility.yul\":3203:3206 */\n 0x84\n /* \"#utility.yul\":2927:2936 */\n dup2\n /* \"#utility.yul\":3189:3207 */\n revert\n /* \"#utility.yul\":2855:3217 */\n tag_125:\n /* \"#utility.yul\":3274:3276 */\n dup3\n /* \"#utility.yul\":3269:3271 */\n dup3\n /* \"#utility.yul\":3261:3267 */\n dup7\n /* \"#utility.yul\":3257:3272 */\n add\n /* \"#utility.yul\":3252:3254 */\n dup4\n /* \"#utility.yul\":3243:3250 */\n dup4\n /* \"#utility.yul\":3239:3255 */\n add\n /* \"#utility.yul\":3226:3277 */\n calldatacopy\n /* \"#utility.yul\":3320:3321 */\n 0x00\n /* \"#utility.yul\":3297:3313 */\n swap3\n dup2\n add\n /* \"#utility.yul\":3293:3318 */\n swap1\n swap2\n add\n /* \"#utility.yul\":3286:3322 */\n swap2\n swap1\n swap2\n mstore\n /* \"#utility.yul\":3301:3308 */\n swap4\n /* \"#utility.yul\":2406:3353 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3358:3868 */\n tag_31:\n /* \"#utility.yul\":3426:3432 */\n 0x00\n /* \"#utility.yul\":3479:3481 */\n 0x20\n /* \"#utility.yul\":3467:3476 */\n dup3\n /* \"#utility.yul\":3458:3465 */\n dup5\n /* \"#utility.yul\":3454:3477 */\n sub\n /* \"#utility.yul\":3450:3482 */\n slt\n /* \"#utility.yul\":3447:3594 */\n iszero\n tag_128\n jumpi\n /* \"#utility.yul\":3505:3584 */\n tag_128\n tag_97\n jump\t// in\n tag_128:\n /* \"#utility.yul\":3630:3639 */\n dup2\n /* \"#utility.yul\":3617:3640 */\n calldataload\n /* \"#utility.yul\":3663:3681 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3655:3661 */\n dup2\n /* \"#utility.yul\":3652:3682 */\n gt\n /* \"#utility.yul\":3649:3794 */\n iszero\n tag_130\n jumpi\n /* \"#utility.yul\":3705:3784 */\n tag_130\n tag_98\n jump\t// in\n tag_130:\n /* \"#utility.yul\":3813:3862 */\n tag_131\n /* \"#utility.yul\":3854:3861 */\n dup5\n /* \"#utility.yul\":3845:3851 */\n dup3\n /* \"#utility.yul\":3834:3843 */\n dup6\n /* \"#utility.yul\":3830:3852 */\n add\n /* \"#utility.yul\":3813:3862 */\n tag_102\n jump\t// in\n tag_131:\n /* \"#utility.yul\":3803:3862 */\n swap5\n /* \"#utility.yul\":3358:3868 */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3873:4451 */\n tag_40:\n /* \"#utility.yul\":3950:3956 */\n 0x00\n /* \"#utility.yul\":3958:3964 */\n dup1\n /* \"#utility.yul\":4011:4013 */\n 0x40\n /* \"#utility.yul\":3999:4008 */\n dup4\n /* \"#utility.yul\":3990:3997 */\n dup6\n /* \"#utility.yul\":3986:4009 */\n sub\n /* \"#utility.yul\":3982:4014 */\n slt\n /* \"#utility.yul\":3979:4126 */\n iszero\n tag_134\n jumpi\n /* \"#utility.yul\":4037:4116 */\n tag_134\n tag_97\n jump\t// in\n tag_134:\n /* \"#utility.yul\":4158:4167 */\n dup3\n /* \"#utility.yul\":4145:4168 */\n calldataload\n /* \"#utility.yul\":4135:4168 */\n swap2\n pop\n /* \"#utility.yul\":4219:4221 */\n 0x20\n /* \"#utility.yul\":4208:4217 */\n dup4\n /* \"#utility.yul\":4204:4222 */\n add\n /* \"#utility.yul\":4191:4223 */\n calldataload\n /* \"#utility.yul\":4246:4264 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4238:4244 */\n dup2\n /* \"#utility.yul\":4235:4265 */\n gt\n /* \"#utility.yul\":4232:4377 */\n iszero\n tag_136\n jumpi\n /* \"#utility.yul\":4288:4367 */\n tag_136\n tag_98\n jump\t// in\n tag_136:\n /* \"#utility.yul\":4396:4445 */\n tag_137\n /* \"#utility.yul\":4437:4444 */\n dup6\n /* \"#utility.yul\":4428:4434 */\n dup3\n /* \"#utility.yul\":4417:4426 */\n dup7\n /* \"#utility.yul\":4413:4435 */\n add\n /* \"#utility.yul\":4396:4445 */\n tag_102\n jump\t// in\n tag_137:\n /* \"#utility.yul\":4386:4445 */\n swap2\n pop\n pop\n /* \"#utility.yul\":3873:4451 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4456:4619 */\n tag_103:\n /* \"#utility.yul\":4523:4543 */\n dup1\n calldataload\n /* \"#utility.yul\":4583:4593 */\n 0xffffffff\n /* \"#utility.yul\":4572:4594 */\n dup2\n and\n /* \"#utility.yul\":4562:4595 */\n dup2\n eq\n /* \"#utility.yul\":4552:4613 */\n tag_139\n jumpi\n /* \"#utility.yul\":4609:4610 */\n 0x00\n /* \"#utility.yul\":4606:4607 */\n dup1\n /* \"#utility.yul\":4599:4611 */\n revert\n /* \"#utility.yul\":4552:4613 */\n tag_139:\n /* \"#utility.yul\":4456:4619 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4624:5047 */\n tag_49:\n /* \"#utility.yul\":4698:4704 */\n 0x00\n /* \"#utility.yul\":4706:4712 */\n dup1\n /* \"#utility.yul\":4714:4720 */\n 0x00\n /* \"#utility.yul\":4767:4769 */\n 0x60\n /* \"#utility.yul\":4755:4764 */\n dup5\n /* \"#utility.yul\":4746:4753 */\n dup7\n /* \"#utility.yul\":4742:4765 */\n sub\n /* \"#utility.yul\":4738:4770 */\n slt\n /* \"#utility.yul\":4735:4882 */\n iszero\n tag_142\n jumpi\n /* \"#utility.yul\":4793:4872 */\n tag_142\n tag_97\n jump\t// in\n tag_142:\n /* \"#utility.yul\":4901:4929 */\n tag_143\n /* \"#utility.yul\":4919:4928 */\n dup5\n /* \"#utility.yul\":4901:4929 */\n tag_103\n jump\t// in\n tag_143:\n /* \"#utility.yul\":4891:4929 */\n swap3\n pop\n /* \"#utility.yul\":4948:4985 */\n tag_144\n /* \"#utility.yul\":4981:4983 */\n 0x20\n /* \"#utility.yul\":4970:4979 */\n dup6\n /* \"#utility.yul\":4966:4984 */\n add\n /* \"#utility.yul\":4948:4985 */\n tag_103\n jump\t// in\n tag_144:\n /* \"#utility.yul\":4938:4985 */\n swap2\n pop\n /* \"#utility.yul\":5004:5041 */\n tag_145\n /* \"#utility.yul\":5037:5039 */\n 0x40\n /* \"#utility.yul\":5026:5035 */\n dup6\n /* \"#utility.yul\":5022:5040 */\n add\n /* \"#utility.yul\":5004:5041 */\n tag_103\n jump\t// in\n tag_145:\n /* \"#utility.yul\":4994:5041 */\n swap1\n pop\n /* \"#utility.yul\":4624:5047 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":5052:5331 */\n tag_54:\n /* \"#utility.yul\":5110:5116 */\n 0x00\n /* \"#utility.yul\":5163:5165 */\n 0x20\n /* \"#utility.yul\":5151:5160 */\n dup3\n /* \"#utility.yul\":5142:5149 */\n dup5\n /* \"#utility.yul\":5138:5161 */\n sub\n /* \"#utility.yul\":5134:5166 */\n slt\n /* \"#utility.yul\":5131:5278 */\n iszero\n tag_148\n jumpi\n /* \"#utility.yul\":5189:5268 */\n tag_148\n tag_97\n jump\t// in\n tag_148:\n /* \"#utility.yul\":5297:5325 */\n tag_149\n /* \"#utility.yul\":5315:5324 */\n dup3\n /* \"#utility.yul\":5297:5325 */\n tag_103\n jump\t// in\n tag_149:\n /* \"#utility.yul\":5287:5325 */\n swap4\n /* \"#utility.yul\":5052:5331 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5336:5687 */\n tag_59:\n /* \"#utility.yul\":5402:5408 */\n 0x00\n /* \"#utility.yul\":5410:5416 */\n dup1\n /* \"#utility.yul\":5463:5465 */\n 0x40\n /* \"#utility.yul\":5451:5460 */\n dup4\n /* \"#utility.yul\":5442:5449 */\n dup6\n /* \"#utility.yul\":5438:5461 */\n sub\n /* \"#utility.yul\":5434:5466 */\n slt\n /* \"#utility.yul\":5431:5578 */\n iszero\n tag_152\n jumpi\n /* \"#utility.yul\":5489:5568 */\n tag_152\n tag_97\n jump\t// in\n tag_152:\n /* \"#utility.yul\":5597:5625 */\n tag_153\n /* \"#utility.yul\":5615:5624 */\n dup4\n /* \"#utility.yul\":5597:5625 */\n tag_103\n jump\t// in\n tag_153:\n /* \"#utility.yul\":5587:5625 */\n swap2\n pop\n /* \"#utility.yul\":5644:5681 */\n tag_154\n /* \"#utility.yul\":5677:5679 */\n 0x20\n /* \"#utility.yul\":5666:5675 */\n dup5\n /* \"#utility.yul\":5662:5680 */\n add\n /* \"#utility.yul\":5644:5681 */\n tag_103\n jump\t// in\n tag_154:\n /* \"#utility.yul\":5634:5681 */\n swap1\n pop\n /* \"#utility.yul\":5336:5687 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5692:6128 */\n tag_67:\n /* \"#utility.yul\":5757:5763 */\n 0x00\n /* \"#utility.yul\":5765:5771 */\n dup1\n /* \"#utility.yul\":5818:5820 */\n 0x40\n /* \"#utility.yul\":5806:5815 */\n dup4\n /* \"#utility.yul\":5797:5804 */\n dup6\n /* \"#utility.yul\":5793:5816 */\n sub\n /* \"#utility.yul\":5789:5821 */\n slt\n /* \"#utility.yul\":5786:5933 */\n iszero\n tag_157\n jumpi\n /* \"#utility.yul\":5844:5923 */\n tag_157\n tag_97\n jump\t// in\n tag_157:\n /* \"#utility.yul\":5965:5974 */\n dup3\n /* \"#utility.yul\":5952:5975 */\n calldataload\n /* \"#utility.yul\":5942:5975 */\n swap2\n pop\n /* \"#utility.yul\":6025:6027 */\n 0x20\n /* \"#utility.yul\":6014:6023 */\n dup4\n /* \"#utility.yul\":6010:6028 */\n add\n /* \"#utility.yul\":5997:6029 */\n calldataload\n /* \"#utility.yul\":6072:6077 */\n dup1\n /* \"#utility.yul\":6065:6078 */\n iszero\n /* \"#utility.yul\":6058:6079 */\n iszero\n /* \"#utility.yul\":6051:6056 */\n dup2\n /* \"#utility.yul\":6048:6080 */\n eq\n /* \"#utility.yul\":6038:6098 */\n tag_158\n jumpi\n /* \"#utility.yul\":6094:6095 */\n 0x00\n /* \"#utility.yul\":6091:6092 */\n dup1\n /* \"#utility.yul\":6084:6096 */\n revert\n /* \"#utility.yul\":6038:6098 */\n tag_158:\n /* \"#utility.yul\":6117:6122 */\n dup1\n /* \"#utility.yul\":6107:6122 */\n swap2\n pop\n pop\n /* \"#utility.yul\":5692:6128 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6133:7677 */\n tag_76:\n /* \"#utility.yul\":6217:6223 */\n 0x00\n /* \"#utility.yul\":6248:6250 */\n 0x20\n /* \"#utility.yul\":6291:6293 */\n dup1\n /* \"#utility.yul\":6279:6288 */\n dup4\n /* \"#utility.yul\":6270:6277 */\n dup6\n /* \"#utility.yul\":6266:6289 */\n sub\n /* \"#utility.yul\":6262:6294 */\n slt\n /* \"#utility.yul\":6259:6406 */\n iszero\n tag_161\n jumpi\n /* \"#utility.yul\":6317:6396 */\n tag_161\n tag_97\n jump\t// in\n tag_161:\n /* \"#utility.yul\":6442:6451 */\n dup3\n /* \"#utility.yul\":6429:6452 */\n calldataload\n /* \"#utility.yul\":6471:6489 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6512:6514 */\n dup1\n /* \"#utility.yul\":6504:6510 */\n dup3\n /* \"#utility.yul\":6501:6515 */\n gt\n /* \"#utility.yul\":6498:6627 */\n iszero\n tag_163\n jumpi\n /* \"#utility.yul\":6538:6617 */\n tag_163\n tag_98\n jump\t// in\n tag_163:\n /* \"#utility.yul\":6661:6667 */\n dup2\n /* \"#utility.yul\":6650:6659 */\n dup6\n /* \"#utility.yul\":6646:6668 */\n add\n /* \"#utility.yul\":6636:6668 */\n swap2\n pop\n /* \"#utility.yul\":6706:6713 */\n dup6\n /* \"#utility.yul\":6699:6703 */\n 0x1f\n /* \"#utility.yul\":6695:6697 */\n dup4\n /* \"#utility.yul\":6691:6704 */\n add\n /* \"#utility.yul\":6687:6714 */\n slt\n /* \"#utility.yul\":6677:6827 */\n tag_165\n jumpi\n /* \"#utility.yul\":6738:6817 */\n tag_165\n tag_99\n jump\t// in\n tag_165:\n /* \"#utility.yul\":6859:6861 */\n dup2\n /* \"#utility.yul\":6846:6862 */\n calldataload\n /* \"#utility.yul\":6881:6883 */\n dup2\n /* \"#utility.yul\":6877:6879 */\n dup2\n /* \"#utility.yul\":6874:6884 */\n gt\n /* \"#utility.yul\":6871:6907 */\n iszero\n tag_167\n jumpi\n /* \"#utility.yul\":6887:6905 */\n tag_167\n tag_100\n jump\t// in\n tag_167:\n /* \"#utility.yul\":6933:6935 */\n dup1\n /* \"#utility.yul\":6930:6931 */\n 0x05\n /* \"#utility.yul\":6926:6936 */\n shl\n /* \"#utility.yul\":6916:6936 */\n swap2\n pop\n /* \"#utility.yul\":6956:6984 */\n tag_168\n /* \"#utility.yul\":6980:6982 */\n dup5\n /* \"#utility.yul\":6976:6978 */\n dup4\n /* \"#utility.yul\":6972:6983 */\n add\n /* \"#utility.yul\":6956:6984 */\n tag_101\n jump\t// in\n tag_168:\n /* \"#utility.yul\":7018:7033 */\n dup2\n dup2\n mstore\n /* \"#utility.yul\":7088:7099 */\n swap2\n dup4\n add\n /* \"#utility.yul\":7084:7104 */\n dup5\n add\n swap2\n /* \"#utility.yul\":7049:7061 */\n dup5\n dup2\n add\n swap1\n /* \"#utility.yul\":7116:7135 */\n dup9\n dup5\n gt\n /* \"#utility.yul\":7113:7465 */\n iszero\n tag_169\n jumpi\n /* \"#utility.yul\":7177:7179 */\n 0x40\n /* \"#utility.yul\":7171:7180 */\n mload\n shl(0xe5, 0x461bcd)\n /* \"#utility.yul\":7193:7225 */\n dup2\n mstore\n /* \"#utility.yul\":7256:7257 */\n 0x04\n /* \"#utility.yul\":7245:7258 */\n dup2\n add\n /* \"#utility.yul\":7238:7263 */\n dup8\n swap1\n mstore\n /* \"#utility.yul\":7299:7301 */\n 0x2b\n /* \"#utility.yul\":7294:7296 */\n 0x24\n /* \"#utility.yul\":7283:7297 */\n dup3\n add\n /* \"#utility.yul\":7276:7302 */\n mstore\n /* \"#utility.yul\":7338:7372 */\n 0x414249206465636f64696e673a20696e76616c69642063616c6c646174612061\n /* \"#utility.yul\":7333:7335 */\n 0x44\n /* \"#utility.yul\":7322:7336 */\n dup3\n add\n /* \"#utility.yul\":7315:7373 */\n mstore\n shl(0xa8, 0x7272617920737472696465)\n /* \"#utility.yul\":7404:7407 */\n 0x64\n /* \"#utility.yul\":7393:7408 */\n dup3\n add\n /* \"#utility.yul\":7386:7424 */\n mstore\n /* \"#utility.yul\":7171:7180 */\n swap3\n pop\n /* \"#utility.yul\":7451:7454 */\n 0x84\n /* \"#utility.yul\":7171:7180 */\n dup4\n /* \"#utility.yul\":7437:7455 */\n revert\n /* \"#utility.yul\":7113:7465 */\n tag_169:\n /* \"#utility.yul\":7485:7496 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":7505:7647 */\n tag_170:\n /* \"#utility.yul\":7521:7527 */\n dup4\n /* \"#utility.yul\":7516:7519 */\n dup6\n /* \"#utility.yul\":7513:7528 */\n lt\n /* \"#utility.yul\":7505:7647 */\n iszero\n tag_172\n jumpi\n /* \"#utility.yul\":7587:7604 */\n dup5\n calldataload\n /* \"#utility.yul\":7575:7605 */\n dup3\n mstore\n /* \"#utility.yul\":7538:7550 */\n swap4\n dup6\n add\n swap4\n /* \"#utility.yul\":7625:7637 */\n swap1\n dup6\n add\n swap1\n /* \"#utility.yul\":7505:7647 */\n jump(tag_170)\n tag_172:\n /* \"#utility.yul\":7666:7671 */\n swap9\n /* \"#utility.yul\":6133:7677 */\n swap8\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220957cc989bc75662982253e5db1f9dd334c1336dbb519b7c88c6ffba13967db0e64736f6c63430008130033\n}\n", "bytecode": { "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b506107d48061006d6000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c80639cfbdfc5116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d2ea7b0814610295578063d5ad108e1461021d578063e5e20a64146101ed57610137565b80639cfbdfc51461022b578063a82948d414610259578063b5eaac431461026757610137565b806351b14e571161011557806351b14e571461019c578063813667a01461019c5780638fd5ce49146101ed57806398a764771461021d57610137565b806307f7c6dc1461019c5780630922ee171461019c578063414be337146101df575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6101c96101aa36600461050e565b6101c96101fb36600461056a565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105b0565b6101c96102393660046105d5565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96101fb36600461060b565b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c9610239366004610661565b6101c96101aa366004610699565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b803563ffffffff8116811461056557600080fd5b919050565b600080600060608486031215610582576105826102a3565b61058b84610551565b925061059960208501610551565b91506105a760408501610551565b90509250925092565b6000602082840312156105c5576105c56102a3565b6105ce82610551565b9392505050565b600080604083850312156105eb576105eb6102a3565b6105f483610551565b915061060260208401610551565b90509250929050565b600080600060608486031215610623576106236102a3565b8335925060208401359150604084013567ffffffffffffffff81111561064b5761064b6102f3565b6106578682870161044d565b9150509250925092565b60008060408385031215610677576106776102a3565b823591506020830135801515811461068e57600080fd5b809150509250929050565b600060208083850312156106af576106af6102a3565b823567ffffffffffffffff808211156106ca576106ca6102f3565b818501915085601f8301126106e1576106e16103ad565b8135818111156106f3576106f3610406565b8060051b915061070484830161041c565b81815291830184019184810190888411156107745760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561079257843582529385019390850190610779565b9897505050505050505056fea2646970667358221220a497a5df1b271951b444eac872fe56936c6a78ff4bffc4d2cb362ba7deff0d3c64736f6c63430008130033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH2 0x7D4 DUP1 PUSH2 0x6D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CFBDFC5 GT PUSH2 0xD9 JUMPI DUP1 PUSH4 0xBB64CA0C GT PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBB64CA0C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xD2EA7B08 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xD5AD108E EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0xE5E20A64 EQ PUSH2 0x1ED JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x9CFBDFC5 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xA82948D4 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xB5EAAC43 EQ PUSH2 0x267 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x51B14E57 GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x51B14E57 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x813667A0 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5CE49 EQ PUSH2 0x1ED JUMPI DUP1 PUSH4 0x98A76477 EQ PUSH2 0x21D JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x7F7C6DC EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x922EE17 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x414BE337 EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E747261637420646F6573206E6F7420686176652066616C6C6261636B20 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH21 0x6E6F7220726563656976652066756E6374696F6E73 PUSH1 0x58 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x343 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0x56A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x5B0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D5 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0x60B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x1C9 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x661 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x699 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A207475706C65206461746120746F6F2073686F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1C9D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C6964207475706C65206F666673 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x358 JUMPI PUSH2 0x358 PUSH2 0x2A3 JUMP JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x370 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1C9C985E481BD9999CD95D PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x445 JUMPI PUSH2 0x445 PUSH2 0x406 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x461 JUMPI PUSH2 0x461 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x47D JUMPI PUSH2 0x47D PUSH2 0x406 JUMP JUMPDEST PUSH2 0x48F PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH2 0x41C JUMP JUMPDEST DUP3 DUP2 MSTORE DUP6 DUP3 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x4F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642062797465206172726179 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x40D8CADCCEE8D PUSH1 0xCB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST DUP3 DUP3 DUP7 ADD DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD SWAP1 SWAP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x523 JUMPI PUSH2 0x523 PUSH2 0x2A3 JUMP JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53D JUMPI PUSH2 0x53D PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x549 DUP5 DUP3 DUP6 ADD PUSH2 0x44D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x582 JUMPI PUSH2 0x582 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x58B DUP5 PUSH2 0x551 JUMP JUMPDEST SWAP3 POP PUSH2 0x599 PUSH1 0x20 DUP6 ADD PUSH2 0x551 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A7 PUSH1 0x40 DUP6 ADD PUSH2 0x551 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C5 JUMPI PUSH2 0x5C5 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5CE DUP3 PUSH2 0x551 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5EB JUMPI PUSH2 0x5EB PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5F4 DUP4 PUSH2 0x551 JUMP JUMPDEST SWAP2 POP PUSH2 0x602 PUSH1 0x20 DUP5 ADD PUSH2 0x551 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x623 JUMPI PUSH2 0x623 PUSH2 0x2A3 JUMP JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x64B JUMPI PUSH2 0x64B PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x657 DUP7 DUP3 DUP8 ADD PUSH2 0x44D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x677 JUMPI PUSH2 0x677 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6AF JUMPI PUSH2 0x6AF PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6CA JUMPI PUSH2 0x6CA PUSH2 0x2F3 JUMP JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6E1 JUMPI PUSH2 0x6E1 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x6F3 JUMPI PUSH2 0x6F3 PUSH2 0x406 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x704 DUP5 DUP4 ADD PUSH2 0x41C JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x774 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x7272617920737472696465 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE SWAP3 POP PUSH1 0x84 DUP4 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x792 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x779 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 SWAP8 0xA5 0xDF SHL 0x27 NOT MLOAD 0xB4 PREVRANDAO 0xEA 0xC8 PUSH19 0xFE56936C6A78FF4BFFC4D2CB362BA7DEFF0D3C PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ", - "sourceMap": "223:2531:0:-:0;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;;;;;;;;;" + "object": "608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b506107cb8061006d6000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c806398a76477116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d5ad108e1461026b578063dcf0688314610295578063e5e20a641461023b57610137565b806398a764771461026b5780639cfbdfc514610279578063b5eaac43146101df57610137565b806351b14e571161011557806351b14e571461019c57806372a9fbc61461020d578063813667a01461019c5780638fd5ce491461023b57610137565b80630922ee171461019c57806315490616146101df578063414be337146101ff575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c96101aa36600461050e565b6101c961021b366004610551565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96102493660046105b7565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105fd565b6101c961021b366004610622565b6101c961021b366004610658565b6101c96101aa366004610690565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b60008060408385031215610567576105676102a3565b82359150602083013567ffffffffffffffff811115610588576105886102f3565b6105948582860161044d565b9150509250929050565b803563ffffffff811681146105b257600080fd5b919050565b6000806000606084860312156105cf576105cf6102a3565b6105d88461059e565b92506105e66020850161059e565b91506105f46040850161059e565b90509250925092565b600060208284031215610612576106126102a3565b61061b8261059e565b9392505050565b60008060408385031215610638576106386102a3565b6106418361059e565b915061064f6020840161059e565b90509250929050565b6000806040838503121561066e5761066e6102a3565b823591506020830135801515811461068557600080fd5b809150509250929050565b600060208083850312156106a6576106a66102a3565b823567ffffffffffffffff808211156106c1576106c16102f3565b818501915085601f8301126106d8576106d86103ad565b8135818111156106ea576106ea610406565b8060051b91506106fb84830161041c565b818152918301840191848101908884111561076b5760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561078957843582529385019390850190610770565b9897505050505050505056fea2646970667358221220957cc989bc75662982253e5db1f9dd334c1336dbb519b7c88c6ffba13967db0e64736f6c63430008130033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH2 0x7CB DUP1 PUSH2 0x6D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x98A76477 GT PUSH2 0xD9 JUMPI DUP1 PUSH4 0xBB64CA0C GT PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBB64CA0C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xD5AD108E EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xDCF06883 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xE5E20A64 EQ PUSH2 0x23B JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x98A76477 EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0x9CFBDFC5 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xB5EAAC43 EQ PUSH2 0x1DF JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x51B14E57 GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x51B14E57 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x72A9FBC6 EQ PUSH2 0x20D JUMPI DUP1 PUSH4 0x813667A0 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5CE49 EQ PUSH2 0x23B JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x922EE17 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x15490616 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0x414BE337 EQ PUSH2 0x1FF JUMPI JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E747261637420646F6573206E6F7420686176652066616C6C6261636B20 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH21 0x6E6F7220726563656976652066756E6374696F6E73 PUSH1 0x58 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x343 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x1C9 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x551 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x249 CALLDATASIZE PUSH1 0x4 PUSH2 0x5B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x5FD JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x658 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A207475706C65206461746120746F6F2073686F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1C9D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C6964207475706C65206F666673 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x358 JUMPI PUSH2 0x358 PUSH2 0x2A3 JUMP JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x370 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1C9C985E481BD9999CD95D PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x445 JUMPI PUSH2 0x445 PUSH2 0x406 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x461 JUMPI PUSH2 0x461 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x47D JUMPI PUSH2 0x47D PUSH2 0x406 JUMP JUMPDEST PUSH2 0x48F PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH2 0x41C JUMP JUMPDEST DUP3 DUP2 MSTORE DUP6 DUP3 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x4F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642062797465206172726179 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x40D8CADCCEE8D PUSH1 0xCB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST DUP3 DUP3 DUP7 ADD DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD SWAP1 SWAP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x523 JUMPI PUSH2 0x523 PUSH2 0x2A3 JUMP JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53D JUMPI PUSH2 0x53D PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x549 DUP5 DUP3 DUP6 ADD PUSH2 0x44D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x567 JUMPI PUSH2 0x567 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x588 JUMPI PUSH2 0x588 PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x594 DUP6 DUP3 DUP7 ADD PUSH2 0x44D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5CF JUMPI PUSH2 0x5CF PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5D8 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP3 POP PUSH2 0x5E6 PUSH1 0x20 DUP6 ADD PUSH2 0x59E JUMP JUMPDEST SWAP2 POP PUSH2 0x5F4 PUSH1 0x40 DUP6 ADD PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x612 JUMPI PUSH2 0x612 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x61B DUP3 PUSH2 0x59E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x638 JUMPI PUSH2 0x638 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x641 DUP4 PUSH2 0x59E JUMP JUMPDEST SWAP2 POP PUSH2 0x64F PUSH1 0x20 DUP5 ADD PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x66E JUMPI PUSH2 0x66E PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x685 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6A6 JUMPI PUSH2 0x6A6 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C1 PUSH2 0x2F3 JUMP JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6D8 JUMPI PUSH2 0x6D8 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x406 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x6FB DUP5 DUP4 ADD PUSH2 0x41C JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x76B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x7272617920737472696465 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE SWAP3 POP PUSH1 0x84 DUP4 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x789 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x770 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 PUSH29 0xC989BC75662982253E5DB1F9DD334C1336DBB519B7C88C6FFBA13967DB 0xE PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ", + "sourceMap": "223:2311:0:-:0;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@encodeBondExtra_30": { + "@encodeBondExtra_28": { "entryPoint": null, - "id": 30, + "id": 28, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeBond_19": { + "@encodeBond_17": { "entryPoint": null, - "id": 19, - "parameterSlots": 3, + "id": 17, + "parameterSlots": 2, "returnSlots": 1 }, - "@encodeChill_86": { + "@encodeChill_84": { "entryPoint": null, - "id": 86, + "id": 84, "parameterSlots": 0, "returnSlots": 1 }, - "@encodeHrmpAcceptOpenChannel_143": { + "@encodeHrmpAcceptOpenChannel_139": { "entryPoint": null, - "id": 143, + "id": 139, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeHrmpCancelOpenRequest_169": { + "@encodeHrmpCancelOpenRequest_165": { "entryPoint": null, - "id": 169, + "id": 165, "parameterSlots": 3, "returnSlots": 1 }, - "@encodeHrmpCloseChannel_155": { + "@encodeHrmpCloseChannel_151": { "entryPoint": null, - "id": 155, + "id": 151, "parameterSlots": 2, "returnSlots": 1 }, - "@encodeHrmpInitOpenChannel_133": { + "@encodeHrmpInitOpenChannel_129": { "entryPoint": null, - "id": 133, + "id": 129, "parameterSlots": 3, "returnSlots": 1 }, - "@encodeNominate_77": { + "@encodeNominate_75": { "entryPoint": null, - "id": 77, + "id": 75, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeRebond_119": { + "@encodeRebond_115": { "entryPoint": null, - "id": 119, + "id": 115, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeSetController_108": { + "@encodeSetController_104": { "entryPoint": null, - "id": 108, - "parameterSlots": 1, + "id": 104, + "parameterSlots": 0, "returnSlots": 1 }, - "@encodeSetPayee_97": { + "@encodeSetPayee_95": { "entryPoint": null, - "id": 97, + "id": 95, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeUnbond_41": { + "@encodeUnbond_39": { "entryPoint": null, - "id": 41, + "id": 39, "parameterSlots": 1, "returnSlots": 1 }, - "@encodeValidate_65": { + "@encodeValidate_63": { "entryPoint": null, - "id": 65, + "id": 63, "parameterSlots": 2, "returnSlots": 1 }, - "@encodeWithdrawUnbonded_52": { + "@encodeWithdrawUnbonded_50": { "entryPoint": null, - "id": 52, + "id": 50, "parameterSlots": 1, "returnSlots": 1 }, @@ -369,8 +365,8 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr": { - "entryPoint": 1689, + "abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr": { + "entryPoint": 1680, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -388,37 +384,37 @@ "returnSlots": 1 }, "abi_decode_tuple_t_uint256t_bool": { - "entryPoint": 1633, + "entryPoint": 1624, "id": null, "parameterSlots": 2, "returnSlots": 2 }, - "abi_decode_tuple_t_uint256t_uint256t_bytes_memory_ptr": { - "entryPoint": 1547, + "abi_decode_tuple_t_uint256t_bytes_memory_ptr": { + "entryPoint": 1361, "id": null, "parameterSlots": 2, - "returnSlots": 3 + "returnSlots": 2 }, "abi_decode_tuple_t_uint32": { - "entryPoint": 1456, + "entryPoint": 1533, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint32t_uint32": { - "entryPoint": 1493, + "entryPoint": 1570, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint32t_uint32t_uint32": { - "entryPoint": 1386, + "entryPoint": 1463, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_decode_uint32": { - "entryPoint": 1361, + "entryPoint": 1438, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -464,7 +460,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:7747:2", + "src": "0:7679:2", "statements": [ { "nodeType": "YulBlock", "src": "6:3:2", "statements": [] }, { @@ -3353,39 +3349,309 @@ { "body": { "nodeType": "YulBlock", - "src": "3921:115:2", + "src": "3969:482:2", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4023:103:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4037:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "4037:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4037:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3990:7:2" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3999:9:2" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3986:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3986:23:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4011:2:2", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3982:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "3982:32:2" + }, + "nodeType": "YulIf", + "src": "3979:147:2" + }, + { + "nodeType": "YulAssignment", + "src": "4135:33:2", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4158:9:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4145:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "4145:23:2" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4135:6:2" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4177:46:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4208:9:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4219:2:2", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4204:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4204:18:2" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4191:12:2" + }, + "nodeType": "YulFunctionCall", + "src": "4191:32:2" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4181:6:2", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4274:103:2", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "4288:77:2" + }, + "nodeType": "YulFunctionCall", + "src": "4288:79:2" + }, + "nodeType": "YulExpressionStatement", + "src": "4288:79:2" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4238:6:2" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4246:18:2", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4235:2:2" + }, + "nodeType": "YulFunctionCall", + "src": "4235:30:2" + }, + "nodeType": "YulIf", + "src": "4232:145:2" + }, + { + "nodeType": "YulAssignment", + "src": "4386:59:2", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4417:9:2" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4428:6:2" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4413:3:2" + }, + "nodeType": "YulFunctionCall", + "src": "4413:22:2" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4437:7:2" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4396:16:2" + }, + "nodeType": "YulFunctionCall", + "src": "4396:49:2" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4386:6:2" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3927:9:2", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3938:7:2", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3950:6:2", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3958:6:2", + "type": "" + } + ], + "src": "3873:578:2" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4504:115:2", "statements": [ { "nodeType": "YulAssignment", - "src": "3931:29:2", + "src": "4514:29:2", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3953:6:2" + "src": "4536:6:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "3940:12:2" + "src": "4523:12:2" }, "nodeType": "YulFunctionCall", - "src": "3940:20:2" + "src": "4523:20:2" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3931:5:2" + "src": "4514:5:2" } ] }, { "body": { "nodeType": "YulBlock", - "src": "4014:16:2", + "src": "4597:16:2", "statements": [ { "expression": { @@ -3393,14 +3659,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4023:1:2", + "src": "4606:1:2", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4026:1:2", + "src": "4609:1:2", "type": "", "value": "0" } @@ -3408,13 +3674,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4016:6:2" + "src": "4599:6:2" }, "nodeType": "YulFunctionCall", - "src": "4016:12:2" + "src": "4599:12:2" }, "nodeType": "YulExpressionStatement", - "src": "4016:12:2" + "src": "4599:12:2" } ] }, @@ -3425,19 +3691,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3982:5:2" + "src": "4565:5:2" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3993:5:2" + "src": "4576:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4000:10:2", + "src": "4583:10:2", "type": "", "value": "0xffffffff" } @@ -3445,31 +3711,31 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3989:3:2" + "src": "4572:3:2" }, "nodeType": "YulFunctionCall", - "src": "3989:22:2" + "src": "4572:22:2" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "3979:2:2" + "src": "4562:2:2" }, "nodeType": "YulFunctionCall", - "src": "3979:33:2" + "src": "4562:33:2" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3972:6:2" + "src": "4555:6:2" }, "nodeType": "YulFunctionCall", - "src": "3972:41:2" + "src": "4555:41:2" }, "nodeType": "YulIf", - "src": "3969:61:2" + "src": "4552:61:2" } ] }, @@ -3479,7 +3745,7 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3900:6:2", + "src": "4483:6:2", "type": "" } ], @@ -3487,21 +3753,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3911:5:2", + "src": "4494:5:2", "type": "" } ], - "src": "3873:163:2" + "src": "4456:163:2" }, { "body": { "nodeType": "YulBlock", - "src": "4142:322:2", + "src": "4725:322:2", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4196:103:2", + "src": "4779:103:2", "statements": [ { "expression": { @@ -3509,13 +3775,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4210:77:2" + "src": "4793:77:2" }, "nodeType": "YulFunctionCall", - "src": "4210:79:2" + "src": "4793:79:2" }, "nodeType": "YulExpressionStatement", - "src": "4210:79:2" + "src": "4793:79:2" } ] }, @@ -3526,26 +3792,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4163:7:2" + "src": "4746:7:2" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4172:9:2" + "src": "4755:9:2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4159:3:2" + "src": "4742:3:2" }, "nodeType": "YulFunctionCall", - "src": "4159:23:2" + "src": "4742:23:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4184:2:2", + "src": "4767:2:2", "type": "", "value": "96" } @@ -3553,44 +3819,44 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4155:3:2" + "src": "4738:3:2" }, "nodeType": "YulFunctionCall", - "src": "4155:32:2" + "src": "4738:32:2" }, "nodeType": "YulIf", - "src": "4152:147:2" + "src": "4735:147:2" }, { "nodeType": "YulAssignment", - "src": "4308:38:2", + "src": "4891:38:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4336:9:2" + "src": "4919:9:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "4318:17:2" + "src": "4901:17:2" }, "nodeType": "YulFunctionCall", - "src": "4318:28:2" + "src": "4901:28:2" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4308:6:2" + "src": "4891:6:2" } ] }, { "nodeType": "YulAssignment", - "src": "4355:47:2", + "src": "4938:47:2", "value": { "arguments": [ { @@ -3598,12 +3864,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4387:9:2" + "src": "4970:9:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4398:2:2", + "src": "4981:2:2", "type": "", "value": "32" } @@ -3611,31 +3877,31 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4383:3:2" + "src": "4966:3:2" }, "nodeType": "YulFunctionCall", - "src": "4383:18:2" + "src": "4966:18:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "4365:17:2" + "src": "4948:17:2" }, "nodeType": "YulFunctionCall", - "src": "4365:37:2" + "src": "4948:37:2" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "4355:6:2" + "src": "4938:6:2" } ] }, { "nodeType": "YulAssignment", - "src": "4411:47:2", + "src": "4994:47:2", "value": { "arguments": [ { @@ -3643,12 +3909,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4443:9:2" + "src": "5026:9:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4454:2:2", + "src": "5037:2:2", "type": "", "value": "64" } @@ -3656,25 +3922,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4439:3:2" + "src": "5022:3:2" }, "nodeType": "YulFunctionCall", - "src": "4439:18:2" + "src": "5022:18:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "4421:17:2" + "src": "5004:17:2" }, "nodeType": "YulFunctionCall", - "src": "4421:37:2" + "src": "5004:37:2" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "4411:6:2" + "src": "4994:6:2" } ] } @@ -3686,13 +3952,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4092:9:2", + "src": "4675:9:2", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4103:7:2", + "src": "4686:7:2", "type": "" } ], @@ -3700,33 +3966,33 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4115:6:2", + "src": "4698:6:2", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "4123:6:2", + "src": "4706:6:2", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "4131:6:2", + "src": "4714:6:2", "type": "" } ], - "src": "4041:423:2" + "src": "4624:423:2" }, { "body": { "nodeType": "YulBlock", - "src": "4538:210:2", + "src": "5121:210:2", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4592:103:2", + "src": "5175:103:2", "statements": [ { "expression": { @@ -3734,13 +4000,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4606:77:2" + "src": "5189:77:2" }, "nodeType": "YulFunctionCall", - "src": "4606:79:2" + "src": "5189:79:2" }, "nodeType": "YulExpressionStatement", - "src": "4606:79:2" + "src": "5189:79:2" } ] }, @@ -3751,26 +4017,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4559:7:2" + "src": "5142:7:2" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4568:9:2" + "src": "5151:9:2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4555:3:2" + "src": "5138:3:2" }, "nodeType": "YulFunctionCall", - "src": "4555:23:2" + "src": "5138:23:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4580:2:2", + "src": "5163:2:2", "type": "", "value": "32" } @@ -3778,38 +4044,38 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4551:3:2" + "src": "5134:3:2" }, "nodeType": "YulFunctionCall", - "src": "4551:32:2" + "src": "5134:32:2" }, "nodeType": "YulIf", - "src": "4548:147:2" + "src": "5131:147:2" }, { "nodeType": "YulAssignment", - "src": "4704:38:2", + "src": "5287:38:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4732:9:2" + "src": "5315:9:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "4714:17:2" + "src": "5297:17:2" }, "nodeType": "YulFunctionCall", - "src": "4714:28:2" + "src": "5297:28:2" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4704:6:2" + "src": "5287:6:2" } ] } @@ -3821,13 +4087,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4504:9:2", + "src": "5087:9:2", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4515:7:2", + "src": "5098:7:2", "type": "" } ], @@ -3835,21 +4101,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4527:6:2", + "src": "5110:6:2", "type": "" } ], - "src": "4469:279:2" + "src": "5052:279:2" }, { "body": { "nodeType": "YulBlock", - "src": "4838:266:2", + "src": "5421:266:2", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4892:103:2", + "src": "5475:103:2", "statements": [ { "expression": { @@ -3857,13 +4123,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4906:77:2" + "src": "5489:77:2" }, "nodeType": "YulFunctionCall", - "src": "4906:79:2" + "src": "5489:79:2" }, "nodeType": "YulExpressionStatement", - "src": "4906:79:2" + "src": "5489:79:2" } ] }, @@ -3874,26 +4140,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4859:7:2" + "src": "5442:7:2" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4868:9:2" + "src": "5451:9:2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4855:3:2" + "src": "5438:3:2" }, "nodeType": "YulFunctionCall", - "src": "4855:23:2" + "src": "5438:23:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4880:2:2", + "src": "5463:2:2", "type": "", "value": "64" } @@ -3901,44 +4167,44 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4851:3:2" + "src": "5434:3:2" }, "nodeType": "YulFunctionCall", - "src": "4851:32:2" + "src": "5434:32:2" }, "nodeType": "YulIf", - "src": "4848:147:2" + "src": "5431:147:2" }, { "nodeType": "YulAssignment", - "src": "5004:38:2", + "src": "5587:38:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5032:9:2" + "src": "5615:9:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "5014:17:2" + "src": "5597:17:2" }, "nodeType": "YulFunctionCall", - "src": "5014:28:2" + "src": "5597:28:2" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5004:6:2" + "src": "5587:6:2" } ] }, { "nodeType": "YulAssignment", - "src": "5051:47:2", + "src": "5634:47:2", "value": { "arguments": [ { @@ -3946,12 +4212,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5083:9:2" + "src": "5666:9:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5094:2:2", + "src": "5677:2:2", "type": "", "value": "32" } @@ -3959,25 +4225,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5079:3:2" + "src": "5662:3:2" }, "nodeType": "YulFunctionCall", - "src": "5079:18:2" + "src": "5662:18:2" } ], "functionName": { "name": "abi_decode_uint32", "nodeType": "YulIdentifier", - "src": "5061:17:2" + "src": "5644:17:2" }, "nodeType": "YulFunctionCall", - "src": "5061:37:2" + "src": "5644:37:2" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "5051:6:2" + "src": "5634:6:2" } ] } @@ -3989,13 +4255,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4796:9:2", + "src": "5379:9:2", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4807:7:2", + "src": "5390:7:2", "type": "" } ], @@ -4003,27 +4269,27 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4819:6:2", + "src": "5402:6:2", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "4827:6:2", + "src": "5410:6:2", "type": "" } ], - "src": "4753:351:2" + "src": "5336:351:2" }, { "body": { "nodeType": "YulBlock", - "src": "5222:533:2", + "src": "5776:352:2", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5276:103:2", + "src": "5830:103:2", "statements": [ { "expression": { @@ -4031,13 +4297,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5290:77:2" + "src": "5844:77:2" }, "nodeType": "YulFunctionCall", - "src": "5290:79:2" + "src": "5844:79:2" }, "nodeType": "YulExpressionStatement", - "src": "5290:79:2" + "src": "5844:79:2" } ] }, @@ -4048,71 +4314,71 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5243:7:2" + "src": "5797:7:2" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5252:9:2" + "src": "5806:9:2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5239:3:2" + "src": "5793:3:2" }, "nodeType": "YulFunctionCall", - "src": "5239:23:2" + "src": "5793:23:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5264:2:2", + "src": "5818:2:2", "type": "", - "value": "96" + "value": "64" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5235:3:2" + "src": "5789:3:2" }, "nodeType": "YulFunctionCall", - "src": "5235:32:2" + "src": "5789:32:2" }, "nodeType": "YulIf", - "src": "5232:147:2" + "src": "5786:147:2" }, { "nodeType": "YulAssignment", - "src": "5388:33:2", + "src": "5942:33:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5411:9:2" + "src": "5965:9:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "5398:12:2" + "src": "5952:12:2" }, "nodeType": "YulFunctionCall", - "src": "5398:23:2" + "src": "5952:23:2" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5388:6:2" + "src": "5942:6:2" } ] }, { - "nodeType": "YulAssignment", - "src": "5430:42:2", + "nodeType": "YulVariableDeclaration", + "src": "5984:45:2", "value": { "arguments": [ { @@ -4120,12 +4386,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5457:9:2" + "src": "6014:9:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5468:2:2", + "src": "6025:2:2", "type": "", "value": "32" } @@ -4133,369 +4399,48 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5453:3:2" + "src": "6010:3:2" }, "nodeType": "YulFunctionCall", - "src": "5453:18:2" + "src": "6010:18:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "5440:12:2" + "src": "5997:12:2" }, "nodeType": "YulFunctionCall", - "src": "5440:32:2" + "src": "5997:32:2" }, - "variableNames": [ + "variables": [ { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5430:6:2" + "name": "value", + "nodeType": "YulTypedName", + "src": "5988:5:2", + "type": "" } ] }, { - "nodeType": "YulVariableDeclaration", - "src": "5481:46:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5512:9:2" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5523:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5508:3:2" - }, - "nodeType": "YulFunctionCall", - "src": "5508:18:2" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5495:12:2" - }, - "nodeType": "YulFunctionCall", - "src": "5495:32:2" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5485:6:2", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5578:103:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "5592:77:2" - }, - "nodeType": "YulFunctionCall", - "src": "5592:79:2" - }, - "nodeType": "YulExpressionStatement", - "src": "5592:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5542:6:2" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5550:18:2", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5539:2:2" - }, - "nodeType": "YulFunctionCall", - "src": "5539:30:2" - }, - "nodeType": "YulIf", - "src": "5536:145:2" - }, - { - "nodeType": "YulAssignment", - "src": "5690:59:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5721:9:2" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5732:6:2" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5717:3:2" - }, - "nodeType": "YulFunctionCall", - "src": "5717:22:2" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5741:7:2" - } - ], - "functionName": { - "name": "abi_decode_bytes", - "nodeType": "YulIdentifier", - "src": "5700:16:2" - }, - "nodeType": "YulFunctionCall", - "src": "5700:49:2" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5690:6:2" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5172:9:2", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5183:7:2", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5195:6:2", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5203:6:2", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5211:6:2", - "type": "" - } - ], - "src": "5109:646:2" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5844:352:2", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5898:103:2", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "5912:77:2" - }, - "nodeType": "YulFunctionCall", - "src": "5912:79:2" - }, - "nodeType": "YulExpressionStatement", - "src": "5912:79:2" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5865:7:2" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5874:9:2" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5861:3:2" - }, - "nodeType": "YulFunctionCall", - "src": "5861:23:2" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5886:2:2", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5857:3:2" - }, - "nodeType": "YulFunctionCall", - "src": "5857:32:2" - }, - "nodeType": "YulIf", - "src": "5854:147:2" - }, - { - "nodeType": "YulAssignment", - "src": "6010:33:2", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6033:9:2" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6020:12:2" - }, - "nodeType": "YulFunctionCall", - "src": "6020:23:2" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6010:6:2" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6052:45:2", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6082:9:2" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6093:2:2", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6078:3:2" - }, - "nodeType": "YulFunctionCall", - "src": "6078:18:2" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6065:12:2" - }, - "nodeType": "YulFunctionCall", - "src": "6065:32:2" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6056:5:2", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6150:16:2", - "statements": [ + "body": { + "nodeType": "YulBlock", + "src": "6082:16:2", + "statements": [ { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "6159:1:2", + "src": "6091:1:2", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6162:1:2", + "src": "6094:1:2", "type": "", "value": "0" } @@ -4503,13 +4448,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6152:6:2" + "src": "6084:6:2" }, "nodeType": "YulFunctionCall", - "src": "6152:12:2" + "src": "6084:12:2" }, "nodeType": "YulExpressionStatement", - "src": "6152:12:2" + "src": "6084:12:2" } ] }, @@ -4520,7 +4465,7 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6119:5:2" + "src": "6051:5:2" }, { "arguments": [ @@ -4529,60 +4474,60 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6140:5:2" + "src": "6072:5:2" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6133:6:2" + "src": "6065:6:2" }, "nodeType": "YulFunctionCall", - "src": "6133:13:2" + "src": "6065:13:2" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6126:6:2" + "src": "6058:6:2" }, "nodeType": "YulFunctionCall", - "src": "6126:21:2" + "src": "6058:21:2" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "6116:2:2" + "src": "6048:2:2" }, "nodeType": "YulFunctionCall", - "src": "6116:32:2" + "src": "6048:32:2" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6109:6:2" + "src": "6041:6:2" }, "nodeType": "YulFunctionCall", - "src": "6109:40:2" + "src": "6041:40:2" }, "nodeType": "YulIf", - "src": "6106:60:2" + "src": "6038:60:2" }, { "nodeType": "YulAssignment", - "src": "6175:15:2", + "src": "6107:15:2", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "6185:5:2" + "src": "6117:5:2" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "6175:6:2" + "src": "6107:6:2" } ] } @@ -4594,13 +4539,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5802:9:2", + "src": "5734:9:2", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5813:7:2", + "src": "5745:7:2", "type": "" } ], @@ -4608,30 +4553,30 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5825:6:2", + "src": "5757:6:2", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5833:6:2", + "src": "5765:6:2", "type": "" } ], - "src": "5760:436:2" + "src": "5692:436:2" }, { "body": { "nodeType": "YulBlock", - "src": "6296:1449:2", + "src": "6228:1449:2", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6306:12:2", + "src": "6238:12:2", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6316:2:2", + "src": "6248:2:2", "type": "", "value": "32" }, @@ -4639,7 +4584,7 @@ { "name": "_1", "nodeType": "YulTypedName", - "src": "6310:2:2", + "src": "6242:2:2", "type": "" } ] @@ -4647,7 +4592,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6371:103:2", + "src": "6303:103:2", "statements": [ { "expression": { @@ -4655,13 +4600,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "6385:77:2" + "src": "6317:77:2" }, "nodeType": "YulFunctionCall", - "src": "6385:79:2" + "src": "6317:79:2" }, "nodeType": "YulExpressionStatement", - "src": "6385:79:2" + "src": "6317:79:2" } ] }, @@ -4672,74 +4617,74 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6338:7:2" + "src": "6270:7:2" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6347:9:2" + "src": "6279:9:2" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6334:3:2" + "src": "6266:3:2" }, "nodeType": "YulFunctionCall", - "src": "6334:23:2" + "src": "6266:23:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "6359:2:2" + "src": "6291:2:2" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "6330:3:2" + "src": "6262:3:2" }, "nodeType": "YulFunctionCall", - "src": "6330:32:2" + "src": "6262:32:2" }, "nodeType": "YulIf", - "src": "6327:147:2" + "src": "6259:147:2" }, { "nodeType": "YulVariableDeclaration", - "src": "6483:37:2", + "src": "6415:37:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6510:9:2" + "src": "6442:9:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6497:12:2" + "src": "6429:12:2" }, "nodeType": "YulFunctionCall", - "src": "6497:23:2" + "src": "6429:23:2" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "6487:6:2", + "src": "6419:6:2", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "6529:28:2", + "src": "6461:28:2", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6539:18:2", + "src": "6471:18:2", "type": "", "value": "0xffffffffffffffff" }, @@ -4747,7 +4692,7 @@ { "name": "_2", "nodeType": "YulTypedName", - "src": "6533:2:2", + "src": "6465:2:2", "type": "" } ] @@ -4755,7 +4700,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6592:103:2", + "src": "6524:103:2", "statements": [ { "expression": { @@ -4763,13 +4708,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "6606:77:2" + "src": "6538:77:2" }, "nodeType": "YulFunctionCall", - "src": "6606:79:2" + "src": "6538:79:2" }, "nodeType": "YulExpressionStatement", - "src": "6606:79:2" + "src": "6538:79:2" } ] }, @@ -4778,54 +4723,54 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "6572:6:2" + "src": "6504:6:2" }, { "name": "_2", "nodeType": "YulIdentifier", - "src": "6580:2:2" + "src": "6512:2:2" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6569:2:2" + "src": "6501:2:2" }, "nodeType": "YulFunctionCall", - "src": "6569:14:2" + "src": "6501:14:2" }, "nodeType": "YulIf", - "src": "6566:129:2" + "src": "6498:129:2" }, { "nodeType": "YulVariableDeclaration", - "src": "6704:32:2", + "src": "6636:32:2", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6718:9:2" + "src": "6650:9:2" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6729:6:2" + "src": "6661:6:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6714:3:2" + "src": "6646:3:2" }, "nodeType": "YulFunctionCall", - "src": "6714:22:2" + "src": "6646:22:2" }, "variables": [ { "name": "_3", "nodeType": "YulTypedName", - "src": "6708:2:2", + "src": "6640:2:2", "type": "" } ] @@ -4833,7 +4778,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6792:103:2", + "src": "6724:103:2", "statements": [ { "expression": { @@ -4841,13 +4786,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "6806:77:2" + "src": "6738:77:2" }, "nodeType": "YulFunctionCall", - "src": "6806:79:2" + "src": "6738:79:2" }, "nodeType": "YulExpressionStatement", - "src": "6806:79:2" + "src": "6738:79:2" } ] }, @@ -4860,12 +4805,12 @@ { "name": "_3", "nodeType": "YulIdentifier", - "src": "6763:2:2" + "src": "6695:2:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6767:4:2", + "src": "6699:4:2", "type": "", "value": "0x1f" } @@ -4873,61 +4818,61 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6759:3:2" + "src": "6691:3:2" }, "nodeType": "YulFunctionCall", - "src": "6759:13:2" + "src": "6691:13:2" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6774:7:2" + "src": "6706:7:2" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "6755:3:2" + "src": "6687:3:2" }, "nodeType": "YulFunctionCall", - "src": "6755:27:2" + "src": "6687:27:2" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6748:6:2" + "src": "6680:6:2" }, "nodeType": "YulFunctionCall", - "src": "6748:35:2" + "src": "6680:35:2" }, "nodeType": "YulIf", - "src": "6745:150:2" + "src": "6677:150:2" }, { "nodeType": "YulVariableDeclaration", - "src": "6904:26:2", + "src": "6836:26:2", "value": { "arguments": [ { "name": "_3", "nodeType": "YulIdentifier", - "src": "6927:2:2" + "src": "6859:2:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6914:12:2" + "src": "6846:12:2" }, "nodeType": "YulFunctionCall", - "src": "6914:16:2" + "src": "6846:16:2" }, "variables": [ { "name": "_4", "nodeType": "YulTypedName", - "src": "6908:2:2", + "src": "6840:2:2", "type": "" } ] @@ -4935,7 +4880,7 @@ { "body": { "nodeType": "YulBlock", - "src": "6953:22:2", + "src": "6885:22:2", "statements": [ { "expression": { @@ -4943,13 +4888,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "6955:16:2" + "src": "6887:16:2" }, "nodeType": "YulFunctionCall", - "src": "6955:18:2" + "src": "6887:18:2" }, "nodeType": "YulExpressionStatement", - "src": "6955:18:2" + "src": "6887:18:2" } ] }, @@ -4958,63 +4903,63 @@ { "name": "_4", "nodeType": "YulIdentifier", - "src": "6945:2:2" + "src": "6877:2:2" }, { "name": "_2", "nodeType": "YulIdentifier", - "src": "6949:2:2" + "src": "6881:2:2" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "6942:2:2" + "src": "6874:2:2" }, "nodeType": "YulFunctionCall", - "src": "6942:10:2" + "src": "6874:10:2" }, "nodeType": "YulIf", - "src": "6939:36:2" + "src": "6871:36:2" }, { "nodeType": "YulVariableDeclaration", - "src": "6984:20:2", + "src": "6916:20:2", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "6998:1:2", + "src": "6930:1:2", "type": "", "value": "5" }, { "name": "_4", "nodeType": "YulIdentifier", - "src": "7001:2:2" + "src": "6933:2:2" } ], "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "6994:3:2" + "src": "6926:3:2" }, "nodeType": "YulFunctionCall", - "src": "6994:10:2" + "src": "6926:10:2" }, "variables": [ { "name": "_5", "nodeType": "YulTypedName", - "src": "6988:2:2", + "src": "6920:2:2", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "7013:39:2", + "src": "6945:39:2", "value": { "arguments": [ { @@ -5022,53 +4967,53 @@ { "name": "_5", "nodeType": "YulIdentifier", - "src": "7044:2:2" + "src": "6976:2:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7048:2:2" + "src": "6980:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7040:3:2" + "src": "6972:3:2" }, "nodeType": "YulFunctionCall", - "src": "7040:11:2" + "src": "6972:11:2" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "7024:15:2" + "src": "6956:15:2" }, "nodeType": "YulFunctionCall", - "src": "7024:28:2" + "src": "6956:28:2" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "7017:3:2", + "src": "6949:3:2", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "7061:16:2", + "src": "6993:16:2", "value": { "name": "dst", "nodeType": "YulIdentifier", - "src": "7074:3:2" + "src": "7006:3:2" }, "variables": [ { "name": "dst_1", "nodeType": "YulTypedName", - "src": "7065:5:2", + "src": "6997:5:2", "type": "" } ] @@ -5079,60 +5024,60 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7093:3:2" + "src": "7025:3:2" }, { "name": "_4", "nodeType": "YulIdentifier", - "src": "7098:2:2" + "src": "7030:2:2" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7086:6:2" + "src": "7018:6:2" }, "nodeType": "YulFunctionCall", - "src": "7086:15:2" + "src": "7018:15:2" }, "nodeType": "YulExpressionStatement", - "src": "7086:15:2" + "src": "7018:15:2" }, { "nodeType": "YulAssignment", - "src": "7110:19:2", + "src": "7042:19:2", "value": { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7121:3:2" + "src": "7053:3:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7126:2:2" + "src": "7058:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7117:3:2" + "src": "7049:3:2" }, "nodeType": "YulFunctionCall", - "src": "7117:12:2" + "src": "7049:12:2" }, "variableNames": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7110:3:2" + "src": "7042:3:2" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "7138:34:2", + "src": "7070:34:2", "value": { "arguments": [ { @@ -5140,41 +5085,41 @@ { "name": "_3", "nodeType": "YulIdentifier", - "src": "7160:2:2" + "src": "7092:2:2" }, { "name": "_5", "nodeType": "YulIdentifier", - "src": "7164:2:2" + "src": "7096:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7156:3:2" + "src": "7088:3:2" }, "nodeType": "YulFunctionCall", - "src": "7156:11:2" + "src": "7088:11:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7169:2:2" + "src": "7101:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7152:3:2" + "src": "7084:3:2" }, "nodeType": "YulFunctionCall", - "src": "7152:20:2" + "src": "7084:20:2" }, "variables": [ { "name": "srcEnd", "nodeType": "YulTypedName", - "src": "7142:6:2", + "src": "7074:6:2", "type": "" } ] @@ -5182,17 +5127,17 @@ { "body": { "nodeType": "YulBlock", - "src": "7212:321:2", + "src": "7144:321:2", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7226:22:2", + "src": "7158:22:2", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "7245:2:2", + "src": "7177:2:2", "type": "", "value": "64" } @@ -5200,16 +5145,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "7239:5:2" + "src": "7171:5:2" }, "nodeType": "YulFunctionCall", - "src": "7239:9:2" + "src": "7171:9:2" }, "variables": [ { "name": "start", "nodeType": "YulTypedName", - "src": "7230:5:2", + "src": "7162:5:2", "type": "" } ] @@ -5220,21 +5165,21 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7268:5:2" + "src": "7200:5:2" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "7279:3:2", + "src": "7211:3:2", "type": "", "value": "229" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7284:7:2", + "src": "7216:7:2", "type": "", "value": "4594637" } @@ -5242,22 +5187,22 @@ "functionName": { "name": "shl", "nodeType": "YulIdentifier", - "src": "7275:3:2" + "src": "7207:3:2" }, "nodeType": "YulFunctionCall", - "src": "7275:17:2" + "src": "7207:17:2" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7261:6:2" + "src": "7193:6:2" }, "nodeType": "YulFunctionCall", - "src": "7261:32:2" + "src": "7193:32:2" }, "nodeType": "YulExpressionStatement", - "src": "7261:32:2" + "src": "7193:32:2" }, { "expression": { @@ -5267,12 +5212,12 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7317:5:2" + "src": "7249:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7324:1:2", + "src": "7256:1:2", "type": "", "value": "4" } @@ -5280,27 +5225,27 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7313:3:2" + "src": "7245:3:2" }, "nodeType": "YulFunctionCall", - "src": "7313:13:2" + "src": "7245:13:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7328:2:2" + "src": "7260:2:2" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7306:6:2" + "src": "7238:6:2" }, "nodeType": "YulFunctionCall", - "src": "7306:25:2" + "src": "7238:25:2" }, "nodeType": "YulExpressionStatement", - "src": "7306:25:2" + "src": "7238:25:2" }, { "expression": { @@ -5310,12 +5255,12 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7355:5:2" + "src": "7287:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7362:2:2", + "src": "7294:2:2", "type": "", "value": "36" } @@ -5323,15 +5268,15 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7351:3:2" + "src": "7283:3:2" }, "nodeType": "YulFunctionCall", - "src": "7351:14:2" + "src": "7283:14:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7367:2:2", + "src": "7299:2:2", "type": "", "value": "43" } @@ -5339,13 +5284,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7344:6:2" + "src": "7276:6:2" }, "nodeType": "YulFunctionCall", - "src": "7344:26:2" + "src": "7276:26:2" }, "nodeType": "YulExpressionStatement", - "src": "7344:26:2" + "src": "7276:26:2" }, { "expression": { @@ -5355,12 +5300,12 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7394:5:2" + "src": "7326:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7401:2:2", + "src": "7333:2:2", "type": "", "value": "68" } @@ -5368,16 +5313,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7390:3:2" + "src": "7322:3:2" }, "nodeType": "YulFunctionCall", - "src": "7390:14:2" + "src": "7322:14:2" }, { "hexValue": "414249206465636f64696e673a20696e76616c69642063616c6c646174612061", "kind": "string", "nodeType": "YulLiteral", - "src": "7406:34:2", + "src": "7338:34:2", "type": "", "value": "ABI decoding: invalid calldata a" } @@ -5385,13 +5330,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7383:6:2" + "src": "7315:6:2" }, "nodeType": "YulFunctionCall", - "src": "7383:58:2" + "src": "7315:58:2" }, "nodeType": "YulExpressionStatement", - "src": "7383:58:2" + "src": "7315:58:2" }, { "expression": { @@ -5401,12 +5346,12 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7465:5:2" + "src": "7397:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7472:3:2", + "src": "7404:3:2", "type": "", "value": "100" } @@ -5414,16 +5359,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7461:3:2" + "src": "7393:3:2" }, "nodeType": "YulFunctionCall", - "src": "7461:15:2" + "src": "7393:15:2" }, { "hexValue": "7272617920737472696465", "kind": "string", "nodeType": "YulLiteral", - "src": "7478:13:2", + "src": "7410:13:2", "type": "", "value": "rray stride" } @@ -5431,13 +5376,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7454:6:2" + "src": "7386:6:2" }, "nodeType": "YulFunctionCall", - "src": "7454:38:2" + "src": "7386:38:2" }, "nodeType": "YulExpressionStatement", - "src": "7454:38:2" + "src": "7386:38:2" }, { "expression": { @@ -5445,12 +5390,12 @@ { "name": "start", "nodeType": "YulIdentifier", - "src": "7512:5:2" + "src": "7444:5:2" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7519:3:2", + "src": "7451:3:2", "type": "", "value": "132" } @@ -5458,13 +5403,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "7505:6:2" + "src": "7437:6:2" }, "nodeType": "YulFunctionCall", - "src": "7505:18:2" + "src": "7437:18:2" }, "nodeType": "YulExpressionStatement", - "src": "7505:18:2" + "src": "7437:18:2" } ] }, @@ -5473,54 +5418,54 @@ { "name": "srcEnd", "nodeType": "YulIdentifier", - "src": "7187:6:2" + "src": "7119:6:2" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7195:7:2" + "src": "7127:7:2" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "7184:2:2" + "src": "7116:2:2" }, "nodeType": "YulFunctionCall", - "src": "7184:19:2" + "src": "7116:19:2" }, "nodeType": "YulIf", - "src": "7181:352:2" + "src": "7113:352:2" }, { "nodeType": "YulVariableDeclaration", - "src": "7542:22:2", + "src": "7474:22:2", "value": { "arguments": [ { "name": "_3", "nodeType": "YulIdentifier", - "src": "7557:2:2" + "src": "7489:2:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7561:2:2" + "src": "7493:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7553:3:2" + "src": "7485:3:2" }, "nodeType": "YulFunctionCall", - "src": "7553:11:2" + "src": "7485:11:2" }, "variables": [ { "name": "src", "nodeType": "YulTypedName", - "src": "7546:3:2", + "src": "7478:3:2", "type": "" } ] @@ -5528,7 +5473,7 @@ { "body": { "nodeType": "YulBlock", - "src": "7629:86:2", + "src": "7561:86:2", "statements": [ { "expression": { @@ -5536,65 +5481,65 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7650:3:2" + "src": "7582:3:2" }, { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", - "src": "7668:3:2" + "src": "7600:3:2" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7655:12:2" + "src": "7587:12:2" }, "nodeType": "YulFunctionCall", - "src": "7655:17:2" + "src": "7587:17:2" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7643:6:2" + "src": "7575:6:2" }, "nodeType": "YulFunctionCall", - "src": "7643:30:2" + "src": "7575:30:2" }, "nodeType": "YulExpressionStatement", - "src": "7643:30:2" + "src": "7575:30:2" }, { "nodeType": "YulAssignment", - "src": "7686:19:2", + "src": "7618:19:2", "value": { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7697:3:2" + "src": "7629:3:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7702:2:2" + "src": "7634:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7693:3:2" + "src": "7625:3:2" }, "nodeType": "YulFunctionCall", - "src": "7693:12:2" + "src": "7625:12:2" }, "variableNames": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "7686:3:2" + "src": "7618:3:2" } ] } @@ -5605,56 +5550,56 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "7584:3:2" + "src": "7516:3:2" }, { "name": "srcEnd", "nodeType": "YulIdentifier", - "src": "7589:6:2" + "src": "7521:6:2" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "7581:2:2" + "src": "7513:2:2" }, "nodeType": "YulFunctionCall", - "src": "7581:15:2" + "src": "7513:15:2" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "7597:23:2", + "src": "7529:23:2", "statements": [ { "nodeType": "YulAssignment", - "src": "7599:19:2", + "src": "7531:19:2", "value": { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", - "src": "7610:3:2" + "src": "7542:3:2" }, { "name": "_1", "nodeType": "YulIdentifier", - "src": "7615:2:2" + "src": "7547:2:2" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7606:3:2" + "src": "7538:3:2" }, "nodeType": "YulFunctionCall", - "src": "7606:12:2" + "src": "7538:12:2" }, "variableNames": [ { "name": "src", "nodeType": "YulIdentifier", - "src": "7599:3:2" + "src": "7531:3:2" } ] } @@ -5662,42 +5607,42 @@ }, "pre": { "nodeType": "YulBlock", - "src": "7577:3:2", + "src": "7509:3:2", "statements": [] }, - "src": "7573:142:2" + "src": "7505:142:2" }, { "nodeType": "YulAssignment", - "src": "7724:15:2", + "src": "7656:15:2", "value": { "name": "dst_1", "nodeType": "YulIdentifier", - "src": "7734:5:2" + "src": "7666:5:2" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7724:6:2" + "src": "7656:6:2" } ] } ] }, - "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "name": "abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "6262:9:2", + "src": "6194:9:2", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "6273:7:2", + "src": "6205:7:2", "type": "" } ], @@ -5705,15 +5650,15 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "6285:6:2", + "src": "6217:6:2", "type": "" } ], - "src": "6201:1544:2" + "src": "6133:1544:2" } ] }, - "contents": "{\n { }\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 34)\n mstore(add(start, 68), \"ABI decoding: tuple data too sho\")\n mstore(add(start, 100), \"rt\")\n revert(start, 132)\n }\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 34)\n mstore(add(start, 68), \"ABI decoding: invalid tuple offs\")\n mstore(add(start, 100), \"et\")\n revert(start, 132)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 43)\n mstore(add(start, 68), \"ABI decoding: invalid calldata a\")\n mstore(add(start, 100), \"rray offset\")\n revert(start, 132)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end))\n {\n revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), _2))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), _2), end)\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), _2)\n mstore(add(start, 36), 39)\n mstore(add(start, 68), \"ABI decoding: invalid byte array\")\n mstore(add(start, 100), \" length\")\n revert(start, 132)\n }\n calldatacopy(add(array_1, _2), add(offset, _2), _1)\n mstore(add(add(array_1, _1), _2), 0)\n array := array_1\n }\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint32t_uint32t_uint32(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n value1 := abi_decode_uint32(add(headStart, 32))\n value2 := abi_decode_uint32(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n }\n function abi_decode_tuple_t_uint32t_uint32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n value1 := abi_decode_uint32(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n value2 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n let offset := calldataload(headStart)\n let _2 := 0xffffffffffffffff\n if gt(offset, _2)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd))\n {\n revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n }\n let _4 := calldataload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let dst := allocate_memory(add(_5, _1))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd)\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), _1)\n mstore(add(start, 36), 43)\n mstore(add(start, 68), \"ABI decoding: invalid calldata a\")\n mstore(add(start, 100), \"rray stride\")\n revert(start, 132)\n }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n}", + "contents": "{\n { }\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 34)\n mstore(add(start, 68), \"ABI decoding: tuple data too sho\")\n mstore(add(start, 100), \"rt\")\n revert(start, 132)\n }\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 34)\n mstore(add(start, 68), \"ABI decoding: invalid tuple offs\")\n mstore(add(start, 100), \"et\")\n revert(start, 132)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), 0x20)\n mstore(add(start, 36), 43)\n mstore(add(start, 68), \"ABI decoding: invalid calldata a\")\n mstore(add(start, 100), \"rray offset\")\n revert(start, 132)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end))\n {\n revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), _2))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), _2), end)\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), _2)\n mstore(add(start, 36), 39)\n mstore(add(start, 68), \"ABI decoding: invalid byte array\")\n mstore(add(start, 100), \" length\")\n revert(start, 132)\n }\n calldatacopy(add(array_1, _2), add(offset, _2), _1)\n mstore(add(add(array_1, _1), _2), 0)\n array := array_1\n }\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_uint32(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint32t_uint32t_uint32(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n value1 := abi_decode_uint32(add(headStart, 32))\n value2 := abi_decode_uint32(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n }\n function abi_decode_tuple_t_uint32t_uint32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := abi_decode_uint32(headStart)\n value1 := abi_decode_uint32(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_array$_t_bytes32_$dyn_memory_ptr(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1)\n {\n revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()\n }\n let offset := calldataload(headStart)\n let _2 := 0xffffffffffffffff\n if gt(offset, _2)\n {\n revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db()\n }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd))\n {\n revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d()\n }\n let _4 := calldataload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let dst := allocate_memory(add(_5, _1))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd)\n {\n let start := mload(64)\n mstore(start, shl(229, 4594637))\n mstore(add(start, 4), _1)\n mstore(add(start, 36), 43)\n mstore(add(start, 68), \"ABI decoding: invalid calldata a\")\n mstore(add(start, 100), \"rray stride\")\n revert(start, 132)\n }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n}", "id": 2, "language": "Yul", "name": "#utility.yul" @@ -5721,27 +5666,27 @@ ], "immutableReferences": {}, "linkReferences": {}, - "object": "608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c80639cfbdfc5116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d2ea7b0814610295578063d5ad108e1461021d578063e5e20a64146101ed57610137565b80639cfbdfc51461022b578063a82948d414610259578063b5eaac431461026757610137565b806351b14e571161011557806351b14e571461019c578063813667a01461019c5780638fd5ce49146101ed57806398a764771461021d57610137565b806307f7c6dc1461019c5780630922ee171461019c578063414be337146101df575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6101c96101aa36600461050e565b6101c96101fb36600461056a565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105b0565b6101c96102393660046105d5565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96101fb36600461060b565b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c9610239366004610661565b6101c96101aa366004610699565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b803563ffffffff8116811461056557600080fd5b919050565b600080600060608486031215610582576105826102a3565b61058b84610551565b925061059960208501610551565b91506105a760408501610551565b90509250925092565b6000602082840312156105c5576105c56102a3565b6105ce82610551565b9392505050565b600080604083850312156105eb576105eb6102a3565b6105f483610551565b915061060260208401610551565b90509250929050565b600080600060608486031215610623576106236102a3565b8335925060208401359150604084013567ffffffffffffffff81111561064b5761064b6102f3565b6106578682870161044d565b9150509250925092565b60008060408385031215610677576106776102a3565b823591506020830135801515811461068e57600080fd5b809150509250929050565b600060208083850312156106af576106af6102a3565b823567ffffffffffffffff808211156106ca576106ca6102f3565b818501915085601f8301126106e1576106e16103ad565b8135818111156106f3576106f3610406565b8060051b915061070484830161041c565b81815291830184019184810190888411156107745760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561079257843582529385019390850190610779565b9897505050505050505056fea2646970667358221220a497a5df1b271951b444eac872fe56936c6a78ff4bffc4d2cb362ba7deff0d3c64736f6c63430008130033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9CFBDFC5 GT PUSH2 0xD9 JUMPI DUP1 PUSH4 0xBB64CA0C GT PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBB64CA0C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xD2EA7B08 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xD5AD108E EQ PUSH2 0x21D JUMPI DUP1 PUSH4 0xE5E20A64 EQ PUSH2 0x1ED JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x9CFBDFC5 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xA82948D4 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xB5EAAC43 EQ PUSH2 0x267 JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x51B14E57 GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x51B14E57 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x813667A0 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5CE49 EQ PUSH2 0x1ED JUMPI DUP1 PUSH4 0x98A76477 EQ PUSH2 0x21D JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x7F7C6DC EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x922EE17 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x414BE337 EQ PUSH2 0x1DF JUMPI JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E747261637420646F6573206E6F7420686176652066616C6C6261636B20 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH21 0x6E6F7220726563656976652066756E6374696F6E73 PUSH1 0x58 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x343 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0x56A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x5B0 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D5 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0x60B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x1C9 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x661 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x699 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A207475706C65206461746120746F6F2073686F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1C9D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C6964207475706C65206F666673 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x358 JUMPI PUSH2 0x358 PUSH2 0x2A3 JUMP JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x370 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1C9C985E481BD9999CD95D PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x445 JUMPI PUSH2 0x445 PUSH2 0x406 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x461 JUMPI PUSH2 0x461 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x47D JUMPI PUSH2 0x47D PUSH2 0x406 JUMP JUMPDEST PUSH2 0x48F PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH2 0x41C JUMP JUMPDEST DUP3 DUP2 MSTORE DUP6 DUP3 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x4F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642062797465206172726179 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x40D8CADCCEE8D PUSH1 0xCB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST DUP3 DUP3 DUP7 ADD DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD SWAP1 SWAP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x523 JUMPI PUSH2 0x523 PUSH2 0x2A3 JUMP JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53D JUMPI PUSH2 0x53D PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x549 DUP5 DUP3 DUP6 ADD PUSH2 0x44D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x565 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x582 JUMPI PUSH2 0x582 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x58B DUP5 PUSH2 0x551 JUMP JUMPDEST SWAP3 POP PUSH2 0x599 PUSH1 0x20 DUP6 ADD PUSH2 0x551 JUMP JUMPDEST SWAP2 POP PUSH2 0x5A7 PUSH1 0x40 DUP6 ADD PUSH2 0x551 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C5 JUMPI PUSH2 0x5C5 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5CE DUP3 PUSH2 0x551 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5EB JUMPI PUSH2 0x5EB PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5F4 DUP4 PUSH2 0x551 JUMP JUMPDEST SWAP2 POP PUSH2 0x602 PUSH1 0x20 DUP5 ADD PUSH2 0x551 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x623 JUMPI PUSH2 0x623 PUSH2 0x2A3 JUMP JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x64B JUMPI PUSH2 0x64B PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x657 DUP7 DUP3 DUP8 ADD PUSH2 0x44D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x677 JUMPI PUSH2 0x677 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x68E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6AF JUMPI PUSH2 0x6AF PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6CA JUMPI PUSH2 0x6CA PUSH2 0x2F3 JUMP JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6E1 JUMPI PUSH2 0x6E1 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x6F3 JUMPI PUSH2 0x6F3 PUSH2 0x406 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x704 DUP5 DUP4 ADD PUSH2 0x41C JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x774 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x7272617920737472696465 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE SWAP3 POP PUSH1 0x84 DUP4 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x792 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x779 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG4 SWAP8 0xA5 0xDF SHL 0x27 NOT MLOAD 0xB4 PREVRANDAO 0xEA 0xC8 PUSH19 0xFE56936C6A78FF4BFFC4D2CB362BA7DEFF0D3C PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ", - "sourceMap": "223:2531:0:-:0;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2531:0;;;;;;;1679:168;;;;;;:::i;:::-;-1:-1:-1;1827:13:0;;;;;;;;;;;;-1:-1:-1;;;1827:13:0;;;;;1679:168;;;;;;;;:::i;:::-;;;;;;;;1498:175;;;;;;:::i;2554:197::-;;;;;;:::i;:::-;2731:13;;;;;;;;;;;;-1:-1:-1;;;2731:13:0;;;;2554:197;;;;;;2220:154;;;;;;:::i;2381:167::-;;;;;;:::i;:::-;-1:-1:-1;;2528:13:0;;;;;;;;;;;;-1:-1:-1;;;2528:13:0;;;;;2381:167;275:209;;;;;;:::i;1350:142::-;1472:13;;;;;;;;;;;;-1:-1:-1;;;1472:13:0;;;;1350:142;;992:176;;;;;;:::i;1174:170::-;;;;;;:::i;14:375:2:-;136:2;130:9;-1:-1:-1;;;148:32:2;;211:4;207:1;196:13;;189:27;248:2;243;232:14;;225:26;283:34;278:2;267:14;;260:58;-1:-1:-1;;;345:3:2;334:15;;327:29;379:3;130:9;365:18;394:375;516:2;510:9;-1:-1:-1;;;528:32:2;;591:4;587:1;576:13;;569:27;628:2;623;612:14;;605:26;663:34;658:2;647:14;;640:58;-1:-1:-1;;;725:3:2;714:15;;707:29;759:3;510:9;745:18;774:275;833:6;886:2;874:9;865:7;861:23;857:32;854:147;;;912:79;;:::i;:::-;-1:-1:-1;1020:23:2;;774:275;-1:-1:-1;774:275:2:o;1054:546::-;1164:4;1193:2;1222;1211:9;1204:21;1254:6;1248:13;1297:6;1292:2;1281:9;1277:18;1270:34;1322:1;1332:140;1346:6;1343:1;1340:13;1332:140;;;1441:14;;;1437:23;;1431:30;1407:17;;;1426:2;1403:26;1396:66;1361:10;;1332:140;;;1336:3;1521:1;1516:2;1507:6;1496:9;1492:22;1488:31;1481:42;1591:2;1584;1580:7;1575:2;1567:6;1563:15;1559:29;1548:9;1544:45;1540:54;1532:62;;;;1054:546;;;;:::o;1605:384::-;1727:2;1721:9;-1:-1:-1;;;1739:32:2;;1802:4;1798:1;1787:13;;1780:27;1839:2;1834;1823:14;;1816:26;1874:34;1869:2;1858:14;;1851:58;-1:-1:-1;;;1936:3:2;1925:15;;1918:38;1979:3;1721:9;1965:18;1994:127;2055:10;2050:3;2046:20;2043:1;2036:31;2086:4;2083:1;2076:15;2110:4;2107:1;2100:15;2126:275;2197:2;2191:9;2262:2;2243:13;;-1:-1:-1;;2239:27:2;2227:40;;2297:18;2282:34;;2318:22;;;2279:62;2276:88;;;2344:18;;:::i;:::-;2380:2;2373:22;2126:275;;-1:-1:-1;2126:275:2:o;2406:947::-;2448:5;2501:3;2494:4;2486:6;2482:17;2478:27;2468:150;;2529:79;;:::i;:::-;2650:6;2637:20;2676:4;2699:18;2695:2;2692:26;2689:52;;;2721:18;;:::i;:::-;2765:53;2808:2;2789:13;;-1:-1:-1;;2785:27:2;2781:36;;2765:53;:::i;:::-;2843:2;2834:7;2827:19;2887:3;2882:2;2877;2869:6;2865:15;2861:24;2858:33;2855:362;;;2933:2;2927:9;-1:-1:-1;;;2949:32:2;;3012:1;3001:13;;2994:25;;;3055:2;3050;3039:14;;3032:26;3094:34;3089:2;3078:14;;3071:58;-1:-1:-1;;;3160:3:2;3149:15;;3142:34;3203:3;2927:9;3189:18;2855:362;3274:2;3269;3261:6;3257:15;3252:2;3243:7;3239:16;3226:51;3320:1;3297:16;;;3293:25;;;3286:36;;;;3301:7;2406:947;-1:-1:-1;;;2406:947:2:o;3358:510::-;3426:6;3479:2;3467:9;3458:7;3454:23;3450:32;3447:147;;;3505:79;;:::i;:::-;3630:9;3617:23;3663:18;3655:6;3652:30;3649:145;;;3705:79;;:::i;:::-;3813:49;3854:7;3845:6;3834:9;3830:22;3813:49;:::i;:::-;3803:59;3358:510;-1:-1:-1;;;;3358:510:2:o;3873:163::-;3940:20;;4000:10;3989:22;;3979:33;;3969:61;;4026:1;4023;4016:12;3969:61;3873:163;;;:::o;4041:423::-;4115:6;4123;4131;4184:2;4172:9;4163:7;4159:23;4155:32;4152:147;;;4210:79;;:::i;:::-;4318:28;4336:9;4318:28;:::i;:::-;4308:38;;4365:37;4398:2;4387:9;4383:18;4365:37;:::i;:::-;4355:47;;4421:37;4454:2;4443:9;4439:18;4421:37;:::i;:::-;4411:47;;4041:423;;;;;:::o;4469:279::-;4527:6;4580:2;4568:9;4559:7;4555:23;4551:32;4548:147;;;4606:79;;:::i;:::-;4714:28;4732:9;4714:28;:::i;:::-;4704:38;4469:279;-1:-1:-1;;;4469:279:2:o;4753:351::-;4819:6;4827;4880:2;4868:9;4859:7;4855:23;4851:32;4848:147;;;4906:79;;:::i;:::-;5014:28;5032:9;5014:28;:::i;:::-;5004:38;;5061:37;5094:2;5083:9;5079:18;5061:37;:::i;:::-;5051:47;;4753:351;;;;;:::o;5109:646::-;5195:6;5203;5211;5264:2;5252:9;5243:7;5239:23;5235:32;5232:147;;;5290:79;;:::i;:::-;5411:9;5398:23;5388:33;;5468:2;5457:9;5453:18;5440:32;5430:42;;5523:2;5512:9;5508:18;5495:32;5550:18;5542:6;5539:30;5536:145;;;5592:79;;:::i;:::-;5700:49;5741:7;5732:6;5721:9;5717:22;5700:49;:::i;:::-;5690:59;;;5109:646;;;;;:::o;5760:436::-;5825:6;5833;5886:2;5874:9;5865:7;5861:23;5857:32;5854:147;;;5912:79;;:::i;:::-;6033:9;6020:23;6010:33;;6093:2;6082:9;6078:18;6065:32;6140:5;6133:13;6126:21;6119:5;6116:32;6106:60;;6162:1;6159;6152:12;6106:60;6185:5;6175:15;;;5760:436;;;;;:::o;6201:1544::-;6285:6;6316:2;6359;6347:9;6338:7;6334:23;6330:32;6327:147;;;6385:79;;:::i;:::-;6510:9;6497:23;6539:18;6580:2;6572:6;6569:14;6566:129;;;6606:79;;:::i;:::-;6729:6;6718:9;6714:22;6704:32;;6774:7;6767:4;6763:2;6759:13;6755:27;6745:150;;6806:79;;:::i;:::-;6927:2;6914:16;6949:2;6945;6942:10;6939:36;;;6955:18;;:::i;:::-;7001:2;6998:1;6994:10;6984:20;;7024:28;7048:2;7044;7040:11;7024:28;:::i;:::-;7086:15;;;7156:11;;;7152:20;;;7117:12;;;;7184:19;;;7181:352;;;7245:2;7239:9;-1:-1:-1;;;7261:32:2;;7324:1;7313:13;;7306:25;;;7367:2;7362;7351:14;;7344:26;7406:34;7401:2;7390:14;;7383:58;-1:-1:-1;;;7472:3:2;7461:15;;7454:38;7239:9;-1:-1:-1;7519:3:2;7239:9;7505:18;7181:352;7553:11;;;;7573:142;7589:6;7584:3;7581:15;7573:142;;;7655:17;;7643:30;;7606:12;;;;7693;;;;7573:142;;;7734:5;6201:1544;-1:-1:-1;;;;;;;;6201:1544:2:o" + "object": "608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101375760003560e01c806398a76477116100d9578063bb64ca0c116100b3578063bb64ca0c14610287578063d5ad108e1461026b578063dcf0688314610295578063e5e20a641461023b57610137565b806398a764771461026b5780639cfbdfc514610279578063b5eaac43146101df57610137565b806351b14e571161011557806351b14e571461019c57806372a9fbc61461020d578063813667a01461019c5780638fd5ce491461023b57610137565b80630922ee171461019c57806315490616146101df578063414be337146101ff575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101c96101aa366004610343565b506040805180820190915260048152630307830360e41b602082015290565b6040516101d6919061035f565b60405180910390f35b6040805180820190915260048152630307830360e41b60208201526101c9565b6101c96101aa36600461050e565b6101c961021b366004610551565b50506040805180820190915260048152630307830360e41b602082015290565b6101c96102493660046105b7565b6040805180820190915260048152630307830360e41b60208201529392505050565b6101c96101aa3660046105fd565b6101c961021b366004610622565b6101c961021b366004610658565b6101c96101aa366004610690565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b600060208284031215610358576103586102a3565b5035919050565b600060208083528351808285015260005b8181101561038c57858101830151858201604001528201610370565b506000604082860101526040601f19601f8301168501019250505092915050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561044557610445610406565b604052919050565b600082601f830112610461576104616103ad565b8135602067ffffffffffffffff82111561047d5761047d610406565b61048f601f8301601f1916820161041c565b82815285828487010111156104f35760405162461bcd60e51b815260048101839052602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b82828601838301376000928101909101919091529392505050565b600060208284031215610523576105236102a3565b813567ffffffffffffffff81111561053d5761053d6102f3565b6105498482850161044d565b949350505050565b60008060408385031215610567576105676102a3565b82359150602083013567ffffffffffffffff811115610588576105886102f3565b6105948582860161044d565b9150509250929050565b803563ffffffff811681146105b257600080fd5b919050565b6000806000606084860312156105cf576105cf6102a3565b6105d88461059e565b92506105e66020850161059e565b91506105f46040850161059e565b90509250925092565b600060208284031215610612576106126102a3565b61061b8261059e565b9392505050565b60008060408385031215610638576106386102a3565b6106418361059e565b915061064f6020840161059e565b90509250929050565b6000806040838503121561066e5761066e6102a3565b823591506020830135801515811461068557600080fd5b809150509250929050565b600060208083850312156106a6576106a66102a3565b823567ffffffffffffffff808211156106c1576106c16102f3565b818501915085601f8301126106d8576106d86103ad565b8135818111156106ea576106ea610406565b8060051b91506106fb84830161041c565b818152918301840191848101908884111561076b5760405162461bcd60e51b815260048101879052602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b60648201529250608483fd5b938501935b8385101561078957843582529385019390850190610770565b9897505050505050505056fea2646970667358221220957cc989bc75662982253e5db1f9dd334c1336dbb519b7c88c6ffba13967db0e64736f6c63430008130033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH2 0x37B7 PUSH1 0xF1 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x98A76477 GT PUSH2 0xD9 JUMPI DUP1 PUSH4 0xBB64CA0C GT PUSH2 0xB3 JUMPI DUP1 PUSH4 0xBB64CA0C EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0xD5AD108E EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xDCF06883 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xE5E20A64 EQ PUSH2 0x23B JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x98A76477 EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0x9CFBDFC5 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xB5EAAC43 EQ PUSH2 0x1DF JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x51B14E57 GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x51B14E57 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x72A9FBC6 EQ PUSH2 0x20D JUMPI DUP1 PUSH4 0x813667A0 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x8FD5CE49 EQ PUSH2 0x23B JUMPI PUSH2 0x137 JUMP JUMPDEST DUP1 PUSH4 0x922EE17 EQ PUSH2 0x19C JUMPI DUP1 PUSH4 0x15490616 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0x414BE337 EQ PUSH2 0x1FF JUMPI JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x436F6E747261637420646F6573206E6F7420686176652066616C6C6261636B20 PUSH1 0x44 DUP3 ADD SWAP1 DUP2 MSTORE PUSH21 0x6E6F7220726563656976652066756E6374696F6E73 PUSH1 0x58 SHL PUSH1 0x64 DUP4 ADD MSTORE PUSH1 0x84 DUP3 REVERT JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x343 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D6 SWAP2 SWAP1 PUSH2 0x35F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x1C9 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x50E JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x551 JUMP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x249 CALLDATASIZE PUSH1 0x4 PUSH2 0x5B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x4 DUP2 MSTORE PUSH4 0x3078303 PUSH1 0xE4 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x5FD JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x622 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x21B CALLDATASIZE PUSH1 0x4 PUSH2 0x658 JUMP JUMPDEST PUSH2 0x1C9 PUSH2 0x1AA CALLDATASIZE PUSH1 0x4 PUSH2 0x690 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A207475706C65206461746120746F6F2073686F PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x1C9D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C6964207475706C65206F666673 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x195D PUSH1 0xF2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x358 JUMPI PUSH2 0x358 PUSH2 0x2A3 JUMP JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x38C JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x370 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x1C9C985E481BD9999CD95D PUSH1 0xAA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x445 JUMPI PUSH2 0x445 PUSH2 0x406 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x461 JUMPI PUSH2 0x461 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x47D JUMPI PUSH2 0x47D PUSH2 0x406 JUMP JUMPDEST PUSH2 0x48F PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH2 0x41C JUMP JUMPDEST DUP3 DUP2 MSTORE DUP6 DUP3 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x4F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642062797465206172726179 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x40D8CADCCEE8D PUSH1 0xCB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 DUP2 REVERT JUMPDEST DUP3 DUP3 DUP7 ADD DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP3 DUP2 ADD SWAP1 SWAP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x523 JUMPI PUSH2 0x523 PUSH2 0x2A3 JUMP JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53D JUMPI PUSH2 0x53D PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x549 DUP5 DUP3 DUP6 ADD PUSH2 0x44D JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x567 JUMPI PUSH2 0x567 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x588 JUMPI PUSH2 0x588 PUSH2 0x2F3 JUMP JUMPDEST PUSH2 0x594 DUP6 DUP3 DUP7 ADD PUSH2 0x44D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH4 0xFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x5B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5CF JUMPI PUSH2 0x5CF PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x5D8 DUP5 PUSH2 0x59E JUMP JUMPDEST SWAP3 POP PUSH2 0x5E6 PUSH1 0x20 DUP6 ADD PUSH2 0x59E JUMP JUMPDEST SWAP2 POP PUSH2 0x5F4 PUSH1 0x40 DUP6 ADD PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x612 JUMPI PUSH2 0x612 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x61B DUP3 PUSH2 0x59E JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x638 JUMPI PUSH2 0x638 PUSH2 0x2A3 JUMP JUMPDEST PUSH2 0x641 DUP4 PUSH2 0x59E JUMP JUMPDEST SWAP2 POP PUSH2 0x64F PUSH1 0x20 DUP5 ADD PUSH2 0x59E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x66E JUMPI PUSH2 0x66E PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x685 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x6A6 JUMPI PUSH2 0x6A6 PUSH2 0x2A3 JUMP JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x6C1 JUMPI PUSH2 0x6C1 PUSH2 0x2F3 JUMP JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x6D8 JUMPI PUSH2 0x6D8 PUSH2 0x3AD JUMP JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x6EA JUMPI PUSH2 0x6EA PUSH2 0x406 JUMP JUMPDEST DUP1 PUSH1 0x5 SHL SWAP2 POP PUSH2 0x6FB DUP5 DUP4 ADD PUSH2 0x41C JUMP JUMPDEST DUP2 DUP2 MSTORE SWAP2 DUP4 ADD DUP5 ADD SWAP2 DUP5 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0x76B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP8 SWAP1 MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x414249206465636F64696E673A20696E76616C69642063616C6C646174612061 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x7272617920737472696465 PUSH1 0xA8 SHL PUSH1 0x64 DUP3 ADD MSTORE SWAP3 POP PUSH1 0x84 DUP4 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0x789 JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x770 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 PUSH29 0xC989BC75662982253E5DB1F9DD334C1336DBB519B7C88C6FFBA13967DB 0xE PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ", + "sourceMap": "223:2311:0:-:0;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;223:2311:0;;;;;;;1677:135;;;;;;:::i;:::-;-1:-1:-1;1792:13:0;;;;;;;;;;;;-1:-1:-1;;;1792:13:0;;;;;1677:135;;;;;;;;:::i;:::-;;;;;;;;1521:150;1651:13;;;;;;;;;;;;-1:-1:-1;;;1651:13:0;;;;1521:150;;1362:153;;;;;;:::i;275:174::-;;;;;;:::i;:::-;-1:-1:-1;;429:13:0;;;;;;;;;;;;-1:-1:-1;;;429:13:0;;;;;275:174;2337:195;;;;;;:::i;:::-;2512:13;;;;;;;;;;;;-1:-1:-1;;;2512:13:0;;;;2337:195;;;;;;2024:140;;;;;;:::i;2170:161::-;;;;;;:::i;891:163::-;;;;;;:::i;1060:148::-;;;;;;:::i;14:375:2:-;136:2;130:9;-1:-1:-1;;;148:32:2;;211:4;207:1;196:13;;189:27;248:2;243;232:14;;225:26;283:34;278:2;267:14;;260:58;-1:-1:-1;;;345:3:2;334:15;;327:29;379:3;130:9;365:18;394:375;516:2;510:9;-1:-1:-1;;;528:32:2;;591:4;587:1;576:13;;569:27;628:2;623;612:14;;605:26;663:34;658:2;647:14;;640:58;-1:-1:-1;;;725:3:2;714:15;;707:29;759:3;510:9;745:18;774:275;833:6;886:2;874:9;865:7;861:23;857:32;854:147;;;912:79;;:::i;:::-;-1:-1:-1;1020:23:2;;774:275;-1:-1:-1;774:275:2:o;1054:546::-;1164:4;1193:2;1222;1211:9;1204:21;1254:6;1248:13;1297:6;1292:2;1281:9;1277:18;1270:34;1322:1;1332:140;1346:6;1343:1;1340:13;1332:140;;;1441:14;;;1437:23;;1431:30;1407:17;;;1426:2;1403:26;1396:66;1361:10;;1332:140;;;1336:3;1521:1;1516:2;1507:6;1496:9;1492:22;1488:31;1481:42;1591:2;1584;1580:7;1575:2;1567:6;1563:15;1559:29;1548:9;1544:45;1540:54;1532:62;;;;1054:546;;;;:::o;1605:384::-;1727:2;1721:9;-1:-1:-1;;;1739:32:2;;1802:4;1798:1;1787:13;;1780:27;1839:2;1834;1823:14;;1816:26;1874:34;1869:2;1858:14;;1851:58;-1:-1:-1;;;1936:3:2;1925:15;;1918:38;1979:3;1721:9;1965:18;1994:127;2055:10;2050:3;2046:20;2043:1;2036:31;2086:4;2083:1;2076:15;2110:4;2107:1;2100:15;2126:275;2197:2;2191:9;2262:2;2243:13;;-1:-1:-1;;2239:27:2;2227:40;;2297:18;2282:34;;2318:22;;;2279:62;2276:88;;;2344:18;;:::i;:::-;2380:2;2373:22;2126:275;;-1:-1:-1;2126:275:2:o;2406:947::-;2448:5;2501:3;2494:4;2486:6;2482:17;2478:27;2468:150;;2529:79;;:::i;:::-;2650:6;2637:20;2676:4;2699:18;2695:2;2692:26;2689:52;;;2721:18;;:::i;:::-;2765:53;2808:2;2789:13;;-1:-1:-1;;2785:27:2;2781:36;;2765:53;:::i;:::-;2843:2;2834:7;2827:19;2887:3;2882:2;2877;2869:6;2865:15;2861:24;2858:33;2855:362;;;2933:2;2927:9;-1:-1:-1;;;2949:32:2;;3012:1;3001:13;;2994:25;;;3055:2;3050;3039:14;;3032:26;3094:34;3089:2;3078:14;;3071:58;-1:-1:-1;;;3160:3:2;3149:15;;3142:34;3203:3;2927:9;3189:18;2855:362;3274:2;3269;3261:6;3257:15;3252:2;3243:7;3239:16;3226:51;3320:1;3297:16;;;3293:25;;;3286:36;;;;3301:7;2406:947;-1:-1:-1;;;2406:947:2:o;3358:510::-;3426:6;3479:2;3467:9;3458:7;3454:23;3450:32;3447:147;;;3505:79;;:::i;:::-;3630:9;3617:23;3663:18;3655:6;3652:30;3649:145;;;3705:79;;:::i;:::-;3813:49;3854:7;3845:6;3834:9;3830:22;3813:49;:::i;:::-;3803:59;3358:510;-1:-1:-1;;;;3358:510:2:o;3873:578::-;3950:6;3958;4011:2;3999:9;3990:7;3986:23;3982:32;3979:147;;;4037:79;;:::i;:::-;4158:9;4145:23;4135:33;;4219:2;4208:9;4204:18;4191:32;4246:18;4238:6;4235:30;4232:145;;;4288:79;;:::i;:::-;4396:49;4437:7;4428:6;4417:9;4413:22;4396:49;:::i;:::-;4386:59;;;3873:578;;;;;:::o;4456:163::-;4523:20;;4583:10;4572:22;;4562:33;;4552:61;;4609:1;4606;4599:12;4552:61;4456:163;;;:::o;4624:423::-;4698:6;4706;4714;4767:2;4755:9;4746:7;4742:23;4738:32;4735:147;;;4793:79;;:::i;:::-;4901:28;4919:9;4901:28;:::i;:::-;4891:38;;4948:37;4981:2;4970:9;4966:18;4948:37;:::i;:::-;4938:47;;5004:37;5037:2;5026:9;5022:18;5004:37;:::i;:::-;4994:47;;4624:423;;;;;:::o;5052:279::-;5110:6;5163:2;5151:9;5142:7;5138:23;5134:32;5131:147;;;5189:79;;:::i;:::-;5297:28;5315:9;5297:28;:::i;:::-;5287:38;5052:279;-1:-1:-1;;;5052:279:2:o;5336:351::-;5402:6;5410;5463:2;5451:9;5442:7;5438:23;5434:32;5431:147;;;5489:79;;:::i;:::-;5597:28;5615:9;5597:28;:::i;:::-;5587:38;;5644:37;5677:2;5666:9;5662:18;5644:37;:::i;:::-;5634:47;;5336:351;;;;;:::o;5692:436::-;5757:6;5765;5818:2;5806:9;5797:7;5793:23;5789:32;5786:147;;;5844:79;;:::i;:::-;5965:9;5952:23;5942:33;;6025:2;6014:9;6010:18;5997:32;6072:5;6065:13;6058:21;6051:5;6048:32;6038:60;;6094:1;6091;6084:12;6038:60;6117:5;6107:15;;;5692:436;;;;;:::o;6133:1544::-;6217:6;6248:2;6291;6279:9;6270:7;6266:23;6262:32;6259:147;;;6317:79;;:::i;:::-;6442:9;6429:23;6471:18;6512:2;6504:6;6501:14;6498:129;;;6538:79;;:::i;:::-;6661:6;6650:9;6646:22;6636:32;;6706:7;6699:4;6695:2;6691:13;6687:27;6677:150;;6738:79;;:::i;:::-;6859:2;6846:16;6881:2;6877;6874:10;6871:36;;;6887:18;;:::i;:::-;6933:2;6930:1;6926:10;6916:20;;6956:28;6980:2;6976;6972:11;6956:28;:::i;:::-;7018:15;;;7088:11;;;7084:20;;;7049:12;;;;7116:19;;;7113:352;;;7177:2;7171:9;-1:-1:-1;;;7193:32:2;;7256:1;7245:13;;7238:25;;;7299:2;7294;7283:14;;7276:26;7338:34;7333:2;7322:14;;7315:58;-1:-1:-1;;;7404:3:2;7393:15;;7386:38;7171:9;-1:-1:-1;7451:3:2;7171:9;7437:18;7113:352;7485:11;;;;7505:142;7521:6;7516:3;7513:15;7505:142;;;7587:17;;7575:30;;7538:12;;;;7625;;;;7505:142;;;7666:5;6133:1544;-1:-1:-1;;;;;;;;6133:1544:2:o" }, "gasEstimates": { "creation": { - "codeDepositCost": "400800", + "codeDepositCost": "399000", "executionCost": "436", - "totalCost": "401236" + "totalCost": "399436" }, "external": { - "encodeBond(uint256,uint256,bytes)": "infinite", + "encodeBond(uint256,bytes)": "infinite", "encodeBondExtra(uint256)": "infinite", "encodeChill()": "infinite", "encodeHrmpAcceptOpenChannel(uint32)": "infinite", "encodeHrmpCancelOpenRequest(uint32,uint32,uint32)": "infinite", "encodeHrmpCloseChannel(uint32,uint32)": "infinite", "encodeHrmpInitOpenChannel(uint32,uint32,uint32)": "infinite", - "encodeNominate(uint256[])": "infinite", + "encodeNominate(bytes32[])": "infinite", "encodeRebond(uint256)": "infinite", - "encodeSetController(uint256)": "infinite", + "encodeSetController()": "infinite", "encodeSetPayee(bytes)": "infinite", "encodeUnbond(uint256)": "infinite", "encodeValidate(uint256,bool)": "infinite", @@ -5752,38 +5697,38 @@ ".code": [ { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, - { "begin": 223, "end": 2754, "name": "CALLVALUE", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ISZERO", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "CALLVALUE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ISZERO", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "1" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 223, "end": 2754, "name": "MLOAD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MLOAD", "source": 0 }, { "begin": -1, "end": -1, @@ -5799,61 +5744,61 @@ "value": "E5" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "22" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "24" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "44" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "SWAP1", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "SWAP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -5871,102 +5816,102 @@ { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "64" }, - { "begin": 223, "end": 2754, "name": "DUP4", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP4", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "84" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "REVERT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "REVERT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "1" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, - { "begin": 223, "end": 2754, "name": "POP", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "POP", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "0" }, - { "begin": 223, "end": 2754, "name": "CODECOPY", "source": 0 }, + { "begin": 223, "end": 2534, "name": "CODECOPY", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "0" }, - { "begin": 223, "end": 2754, "name": "RETURN", "source": 0 } + { "begin": 223, "end": 2534, "name": "RETURN", "source": 0 } ], ".data": { "0": { - ".auxdata": "a2646970667358221220a497a5df1b271951b444eac872fe56936c6a78ff4bffc4d2cb362ba7deff0d3c64736f6c63430008130033", + ".auxdata": "a2646970667358221220957cc989bc75662982253e5db1f9dd334c1336dbb519b7c88c6ffba13967db0e64736f6c63430008130033", ".code": [ { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, - { "begin": 223, "end": 2754, "name": "CALLVALUE", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ISZERO", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "CALLVALUE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ISZERO", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "1" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 223, "end": 2754, "name": "MLOAD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MLOAD", "source": 0 }, { "begin": -1, "end": -1, @@ -5982,61 +5927,61 @@ "value": "E5" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "22" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "24" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "45746865722073656E7420746F206E6F6E2D70617961626C652066756E637469" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "44" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "SWAP1", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "SWAP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -6054,428 +5999,428 @@ { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "64" }, - { "begin": 223, "end": 2754, "name": "DUP4", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP4", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "84" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "REVERT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "REVERT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "1" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, - { "begin": 223, "end": 2754, "name": "POP", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "POP", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "CALLDATASIZE", "source": 0 }, - { "begin": 223, "end": 2754, "name": "LT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "LT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "2" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "CALLDATALOAD", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "E0" }, - { "begin": 223, "end": 2754, "name": "SHR", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "SHR", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "9CFBDFC5" + "value": "98A76477" }, - { "begin": 223, "end": 2754, "name": "GT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "GT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "17" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "BB64CA0C" }, - { "begin": 223, "end": 2754, "name": "GT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "GT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "18" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "BB64CA0C" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "13" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "D2EA7B08" + "value": "D5AD108E" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "14" + "value": "10" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "D5AD108E" + "value": "DCF06883" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "9" + "value": "15" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "E5E20A64" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "8" + "value": "9" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "2" }, - { "begin": 223, "end": 2754, "name": "JUMP", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMP", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "18" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "9CFBDFC5" + "value": "98A76477" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "10" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "A82948D4" + "value": "9CFBDFC5" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "11" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "B5EAAC43" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "12" + "value": "4" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "2" }, - { "begin": 223, "end": 2754, "name": "JUMP", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMP", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "17" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "51B14E57" }, - { "begin": 223, "end": 2754, "name": "GT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "GT", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "19" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "51B14E57" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "3" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "813667A0" + "value": "72A9FBC6" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "3" + "value": "7" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "8FD5CE49" + "value": "813667A0" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "8" + "value": "3" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "98A76477" + "value": "8FD5CE49" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "9" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "2" }, - { "begin": 223, "end": 2754, "name": "JUMP", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMP", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "19" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "7F7C6DC" + "value": "922EE17" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "3" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, - "value": "922EE17" + "value": "15490616" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, - "value": "3" + "value": "4" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP1", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "414BE337" }, - { "begin": 223, "end": 2754, "name": "EQ", "source": 0 }, + { "begin": 223, "end": 2534, "name": "EQ", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH [tag]", "source": 0, "value": "5" }, - { "begin": 223, "end": 2754, "name": "JUMPI", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPI", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "tag", "source": 0, "value": "2" }, - { "begin": 223, "end": 2754, "name": "JUMPDEST", "source": 0 }, + { "begin": 223, "end": 2534, "name": "JUMPDEST", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 223, "end": 2754, "name": "MLOAD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MLOAD", "source": 0 }, { "begin": -1, "end": -1, @@ -6491,61 +6436,61 @@ "value": "E5" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "35" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "24" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "436F6E747261637420646F6573206E6F7420686176652066616C6C6261636B20" }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "44" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "SWAP1", "source": 0 }, - { "begin": 223, "end": 2754, "name": "DUP2", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "SWAP1", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP2", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -6563,105 +6508,105 @@ { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "64" }, - { "begin": 223, "end": 2754, "name": "DUP4", "source": 0 }, - { "begin": 223, "end": 2754, "name": "ADD", "source": 0 }, - { "begin": 223, "end": 2754, "name": "MSTORE", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP4", "source": 0 }, + { "begin": 223, "end": 2534, "name": "ADD", "source": 0 }, + { "begin": 223, "end": 2534, "name": "MSTORE", "source": 0 }, { "begin": 223, - "end": 2754, + "end": 2534, "name": "PUSH", "source": 0, "value": "84" }, - { "begin": 223, "end": 2754, "name": "DUP3", "source": 0 }, - { "begin": 223, "end": 2754, "name": "REVERT", "source": 0 }, + { "begin": 223, "end": 2534, "name": "DUP3", "source": 0 }, + { "begin": 223, "end": 2534, "name": "REVERT", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "tag", "source": 0, "value": "3" }, - { "begin": 1679, "end": 1847, "name": "JUMPDEST", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "JUMPDEST", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH [tag]", "source": 0, "value": "21" }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH [tag]", "source": 0, "value": "22" }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "tag", "source": 0, "value": "21" }, - { "begin": 1679, "end": 1847, "name": "JUMPDEST", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "JUMPDEST", "source": 0 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { - "begin": 1827, - "end": 1840, + "begin": 1792, + "end": 1805, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 1827, "end": 1840, "name": "DUP1", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "MLOAD", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "DUP1", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "DUP3", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "ADD", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "SWAP1", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "SWAP2", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "MSTORE", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "DUP1", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "MLOAD", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "DUP1", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "DUP3", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "ADD", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "SWAP1", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "SWAP2", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "MSTORE", "source": 0 }, { - "begin": 1827, - "end": 1840, + "begin": 1792, + "end": 1805, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 1827, "end": 1840, "name": "DUP2", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "MSTORE", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "DUP2", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -6678,207 +6623,269 @@ }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { - "begin": 1827, - "end": 1840, + "begin": 1792, + "end": 1805, "name": "PUSH", "source": 0, "value": "20" }, - { "begin": 1827, "end": 1840, "name": "DUP3", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "ADD", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "MSTORE", "source": 0 }, - { "begin": 1827, "end": 1840, "name": "SWAP1", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "JUMP", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "DUP3", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "ADD", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "MSTORE", "source": 0 }, + { "begin": 1792, "end": 1805, "name": "SWAP1", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "JUMP", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "tag", "source": 0, "value": "20" }, - { "begin": 1679, "end": 1847, "name": "JUMPDEST", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "JUMPDEST", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 1679, "end": 1847, "name": "MLOAD", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "MLOAD", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH [tag]", "source": 0, "value": "24" }, - { "begin": 1679, "end": 1847, "name": "SWAP2", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "SWAP1", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "SWAP2", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "SWAP1", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH [tag]", "source": 0, "value": "25" }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "tag", "source": 0, "value": "24" }, - { "begin": 1679, "end": 1847, "name": "JUMPDEST", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "JUMPDEST", "source": 0 }, { - "begin": 1679, - "end": 1847, + "begin": 1677, + "end": 1812, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 1679, "end": 1847, "name": "MLOAD", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "DUP1", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "SWAP2", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "SUB", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "SWAP1", "source": 0 }, - { "begin": 1679, "end": 1847, "name": "RETURN", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "MLOAD", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "DUP1", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "SWAP2", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "SUB", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "SWAP1", "source": 0 }, + { "begin": 1677, "end": 1812, "name": "RETURN", "source": 0 }, { - "begin": 1498, - "end": 1673, + "begin": 1521, + "end": 1671, + "name": "tag", + "source": 0, + "value": "4" + }, + { "begin": 1521, "end": 1671, "name": "JUMPDEST", "source": 0 }, + { + "begin": 1651, + "end": 1664, + "name": "PUSH", + "source": 0, + "value": "40" + }, + { "begin": 1651, "end": 1664, "name": "DUP1", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "MLOAD", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "DUP1", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "DUP3", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "ADD", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "SWAP1", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "SWAP2", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "MSTORE", "source": 0 }, + { + "begin": 1651, + "end": 1664, + "name": "PUSH", + "source": 0, + "value": "4" + }, + { "begin": 1651, "end": 1664, "name": "DUP2", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "MSTORE", "source": 0 }, + { + "begin": -1, + "end": -1, + "name": "PUSH", + "source": -1, + "value": "3078303" + }, + { + "begin": -1, + "end": -1, + "name": "PUSH", + "source": -1, + "value": "E4" + }, + { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, + { + "begin": 1651, + "end": 1664, + "name": "PUSH", + "source": 0, + "value": "20" + }, + { "begin": 1651, "end": 1664, "name": "DUP3", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "ADD", "source": 0 }, + { "begin": 1651, "end": 1664, "name": "MSTORE", "source": 0 }, + { + "begin": 1521, + "end": 1671, + "name": "PUSH [tag]", + "source": 0, + "value": "20" + }, + { "begin": 1521, "end": 1671, "name": "JUMP", "source": 0 }, + { + "begin": 1362, + "end": 1515, "name": "tag", "source": 0, "value": "5" }, - { "begin": 1498, "end": 1673, "name": "JUMPDEST", "source": 0 }, + { "begin": 1362, "end": 1515, "name": "JUMPDEST", "source": 0 }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "name": "PUSH [tag]", "source": 0, "value": "21" }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "name": "PUSH [tag]", "source": 0, - "value": "32" + "value": "31" }, { - "begin": 1498, - "end": 1673, + "begin": 1362, + "end": 1515, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "tag", "source": 0, - "value": "8" + "value": "7" }, - { "begin": 2554, "end": 2751, "name": "JUMPDEST", "source": 0 }, + { "begin": 275, "end": 449, "name": "JUMPDEST", "source": 0 }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "PUSH [tag]", "source": 0, - "value": "44" - }, - { - "begin": 2554, - "end": 2751, - "name": "CALLDATASIZE", - "source": 0 + "value": "39" }, + { "begin": 275, "end": 449, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "PUSH [tag]", "source": 0, - "value": "45" + "value": "40" }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 2554, - "end": 2751, + "begin": 275, + "end": 449, "name": "tag", "source": 0, - "value": "44" + "value": "39" }, - { "begin": 2554, "end": 2751, "name": "JUMPDEST", "source": 0 }, + { "begin": 275, "end": 449, "name": "JUMPDEST", "source": 0 }, + { "begin": -1, "end": -1, "name": "POP", "source": -1 }, + { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { - "begin": 2731, - "end": 2744, + "begin": 429, + "end": 442, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 2731, "end": 2744, "name": "DUP1", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "MLOAD", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "DUP1", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "DUP3", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "ADD", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "SWAP1", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "SWAP2", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "MSTORE", "source": 0 }, + { "begin": 429, "end": 442, "name": "DUP1", "source": 0 }, + { "begin": 429, "end": 442, "name": "MLOAD", "source": 0 }, + { "begin": 429, "end": 442, "name": "DUP1", "source": 0 }, + { "begin": 429, "end": 442, "name": "DUP3", "source": 0 }, + { "begin": 429, "end": 442, "name": "ADD", "source": 0 }, + { "begin": 429, "end": 442, "name": "SWAP1", "source": 0 }, + { "begin": 429, "end": 442, "name": "SWAP2", "source": 0 }, + { "begin": 429, "end": 442, "name": "MSTORE", "source": 0 }, { - "begin": 2731, - "end": 2744, + "begin": 429, + "end": 442, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 2731, "end": 2744, "name": "DUP2", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "MSTORE", "source": 0 }, + { "begin": 429, "end": 442, "name": "DUP2", "source": 0 }, + { "begin": 429, "end": 442, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -6895,153 +6902,98 @@ }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { - "begin": 2731, - "end": 2744, + "begin": 429, + "end": 442, "name": "PUSH", "source": 0, "value": "20" }, - { "begin": 2731, "end": 2744, "name": "DUP3", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "ADD", "source": 0 }, - { "begin": 2731, "end": 2744, "name": "MSTORE", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "SWAP4", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "SWAP3", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "POP", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "POP", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "POP", "source": 0 }, - { "begin": 2554, "end": 2751, "name": "JUMP", "source": 0 }, - { - "begin": 2220, - "end": 2374, - "name": "tag", - "source": 0, - "value": "9" - }, - { "begin": 2220, "end": 2374, "name": "JUMPDEST", "source": 0 }, - { - "begin": 2220, - "end": 2374, - "name": "PUSH [tag]", - "source": 0, - "value": "20" - }, - { - "begin": 2220, - "end": 2374, - "name": "PUSH [tag]", - "source": 0, - "value": "21" - }, + { "begin": 429, "end": 442, "name": "DUP3", "source": 0 }, + { "begin": 429, "end": 442, "name": "ADD", "source": 0 }, + { "begin": 429, "end": 442, "name": "MSTORE", "source": 0 }, + { "begin": 429, "end": 442, "name": "SWAP1", "source": 0 }, + { "begin": 275, "end": 449, "name": "JUMP", "source": 0 }, { - "begin": 2220, - "end": 2374, - "name": "CALLDATASIZE", - "source": 0 - }, - { - "begin": 2220, - "end": 2374, - "name": "PUSH", - "source": 0, - "value": "4" - }, - { - "begin": 2220, - "end": 2374, - "name": "PUSH [tag]", - "source": 0, - "value": "50" - }, - { - "begin": 2220, - "end": 2374, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "tag", "source": 0, - "value": "10" + "value": "9" }, - { "begin": 2381, "end": 2548, "name": "JUMPDEST", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "JUMPDEST", "source": 0 }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "PUSH [tag]", "source": 0, - "value": "54" + "value": "48" }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "PUSH [tag]", "source": 0, - "value": "55" + "value": "49" }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 2381, - "end": 2548, + "begin": 2337, + "end": 2532, "name": "tag", "source": 0, - "value": "54" + "value": "48" }, - { "begin": 2381, "end": 2548, "name": "JUMPDEST", "source": 0 }, - { "begin": -1, "end": -1, "name": "POP", "source": -1 }, - { "begin": -1, "end": -1, "name": "POP", "source": -1 }, + { "begin": 2337, "end": 2532, "name": "JUMPDEST", "source": 0 }, { - "begin": 2528, - "end": 2541, + "begin": 2512, + "end": 2525, "name": "PUSH", "source": 0, "value": "40" }, - { "begin": 2528, "end": 2541, "name": "DUP1", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "MLOAD", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "DUP1", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "DUP3", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "ADD", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "SWAP1", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "SWAP2", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "MSTORE", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "DUP1", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "MLOAD", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "DUP1", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "DUP3", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "ADD", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "SWAP1", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "SWAP2", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "MSTORE", "source": 0 }, { - "begin": 2528, - "end": 2541, + "begin": 2512, + "end": 2525, "name": "PUSH", "source": 0, "value": "4" }, - { "begin": 2528, "end": 2541, "name": "DUP2", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "MSTORE", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "DUP2", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "MSTORE", "source": 0 }, { "begin": -1, "end": -1, @@ -7058,220 +7010,213 @@ }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { - "begin": 2528, - "end": 2541, + "begin": 2512, + "end": 2525, "name": "PUSH", "source": 0, "value": "20" }, - { "begin": 2528, "end": 2541, "name": "DUP3", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "ADD", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "MSTORE", "source": 0 }, - { "begin": 2528, "end": 2541, "name": "SWAP1", "source": 0 }, - { "begin": 2381, "end": 2548, "name": "JUMP", "source": 0 }, - { - "begin": 275, - "end": 484, + { "begin": 2512, "end": 2525, "name": "DUP3", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "ADD", "source": 0 }, + { "begin": 2512, "end": 2525, "name": "MSTORE", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "SWAP4", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "SWAP3", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "POP", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "POP", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "POP", "source": 0 }, + { "begin": 2337, "end": 2532, "name": "JUMP", "source": 0 }, + { + "begin": 2024, + "end": 2164, "name": "tag", "source": 0, - "value": "11" + "value": "10" }, - { "begin": 275, "end": 484, "name": "JUMPDEST", "source": 0 }, + { "begin": 2024, "end": 2164, "name": "JUMPDEST", "source": 0 }, { - "begin": 275, - "end": 484, + "begin": 2024, + "end": 2164, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 275, - "end": 484, + "begin": 2024, + "end": 2164, "name": "PUSH [tag]", "source": 0, - "value": "44" + "value": "21" }, - { "begin": 275, "end": 484, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 275, - "end": 484, + "begin": 2024, + "end": 2164, + "name": "CALLDATASIZE", + "source": 0 + }, + { + "begin": 2024, + "end": 2164, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 275, - "end": 484, + "begin": 2024, + "end": 2164, "name": "PUSH [tag]", "source": 0, - "value": "60" + "value": "54" }, { - "begin": 275, - "end": 484, + "begin": 2024, + "end": 2164, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 1350, - "end": 1492, + "begin": 2170, + "end": 2331, "name": "tag", "source": 0, - "value": "12" + "value": "11" }, - { "begin": 1350, "end": 1492, "name": "JUMPDEST", "source": 0 }, + { "begin": 2170, "end": 2331, "name": "JUMPDEST", "source": 0 }, { - "begin": 1472, - "end": 1485, - "name": "PUSH", + "begin": 2170, + "end": 2331, + "name": "PUSH [tag]", "source": 0, - "value": "40" + "value": "20" }, - { "begin": 1472, "end": 1485, "name": "DUP1", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "MLOAD", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "DUP1", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "DUP3", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "ADD", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "SWAP1", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "SWAP2", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "MSTORE", "source": 0 }, { - "begin": 1472, - "end": 1485, - "name": "PUSH", + "begin": 2170, + "end": 2331, + "name": "PUSH [tag]", "source": 0, - "value": "4" - }, - { "begin": 1472, "end": 1485, "name": "DUP2", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "MSTORE", "source": 0 }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "3078303" + "value": "39" }, { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E4" + "begin": 2170, + "end": 2331, + "name": "CALLDATASIZE", + "source": 0 }, - { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { - "begin": 1472, - "end": 1485, + "begin": 2170, + "end": 2331, "name": "PUSH", "source": 0, - "value": "20" + "value": "4" }, - { "begin": 1472, "end": 1485, "name": "DUP3", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "ADD", "source": 0 }, - { "begin": 1472, "end": 1485, "name": "MSTORE", "source": 0 }, { - "begin": 1350, - "end": 1492, + "begin": 2170, + "end": 2331, "name": "PUSH [tag]", "source": 0, - "value": "20" + "value": "59" }, - { "begin": 1350, "end": 1492, "name": "JUMP", "source": 0 }, { - "begin": 992, - "end": 1168, + "begin": 2170, + "end": 2331, + "jumpType": "[in]", + "name": "JUMP", + "source": 0 + }, + { + "begin": 891, + "end": 1054, "name": "tag", "source": 0, "value": "13" }, - { "begin": 992, "end": 1168, "name": "JUMPDEST", "source": 0 }, + { "begin": 891, "end": 1054, "name": "JUMPDEST", "source": 0 }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "name": "PUSH [tag]", "source": 0, - "value": "54" + "value": "39" }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "name": "PUSH [tag]", "source": 0, - "value": "68" + "value": "67" }, { - "begin": 992, - "end": 1168, + "begin": 891, + "end": 1054, "jumpType": "[in]", "name": "JUMP", "source": 0 }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "tag", "source": 0, - "value": "14" + "value": "15" }, - { "begin": 1174, "end": 1344, "name": "JUMPDEST", "source": 0 }, + { "begin": 1060, "end": 1208, "name": "JUMPDEST", "source": 0 }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "PUSH [tag]", "source": 0, "value": "20" }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "PUSH [tag]", "source": 0, "value": "21" }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "CALLDATASIZE", "source": 0 }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "PUSH", "source": 0, "value": "4" }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "name": "PUSH [tag]", "source": 0, - "value": "73" + "value": "76" }, { - "begin": 1174, - "end": 1344, + "begin": 1060, + "end": 1208, "jumpType": "[in]", "name": "JUMP", "source": 0 @@ -7281,7 +7226,7 @@ "end": 389, "name": "tag", "source": 2, - "value": "98" + "value": "97" }, { "begin": 14, "end": 389, "name": "JUMPDEST", "source": 2 }, { @@ -7399,7 +7344,7 @@ "end": 769, "name": "tag", "source": 2, - "value": "99" + "value": "98" }, { "begin": 394, "end": 769, "name": "JUMPDEST", "source": 2 }, { @@ -7544,7 +7489,7 @@ "end": 1001, "name": "PUSH [tag]", "source": 2, - "value": "110" + "value": "109" }, { "begin": 854, "end": 1001, "name": "JUMPI", "source": 2 }, { @@ -7552,14 +7497,14 @@ "end": 991, "name": "PUSH [tag]", "source": 2, - "value": "110" + "value": "109" }, { "begin": 912, "end": 991, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { "begin": 912, @@ -7573,7 +7518,7 @@ "end": 991, "name": "tag", "source": 2, - "value": "110" + "value": "109" }, { "begin": 912, "end": 991, "name": "JUMPDEST", "source": 2 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, @@ -7637,7 +7582,7 @@ "end": 1472, "name": "tag", "source": 2, - "value": "112" + "value": "111" }, { "begin": 1332, "end": 1472, "name": "JUMPDEST", "source": 2 }, { "begin": 1346, "end": 1352, "name": "DUP2", "source": 2 }, @@ -7649,7 +7594,7 @@ "end": 1472, "name": "PUSH [tag]", "source": 2, - "value": "114" + "value": "113" }, { "begin": 1332, "end": 1472, "name": "JUMPI", "source": 2 }, { "begin": 1441, "end": 1455, "name": "DUP6", "source": 2 }, @@ -7677,7 +7622,7 @@ "end": 1472, "name": "PUSH [tag]", "source": 2, - "value": "112" + "value": "111" }, { "begin": 1332, "end": 1472, "name": "JUMP", "source": 2 }, { @@ -7685,7 +7630,7 @@ "end": 1472, "name": "tag", "source": 2, - "value": "114" + "value": "113" }, { "begin": 1332, "end": 1472, "name": "JUMPDEST", "source": 2 }, { "begin": 1336, "end": 1339, "name": "POP", "source": 2 }, @@ -7756,7 +7701,7 @@ "end": 1989, "name": "tag", "source": 2, - "value": "100" + "value": "99" }, { "begin": 1605, "end": 1989, "name": "JUMPDEST", "source": 2 }, { @@ -7874,7 +7819,7 @@ "end": 2121, "name": "tag", "source": 2, - "value": "101" + "value": "100" }, { "begin": 1994, "end": 2121, "name": "JUMPDEST", "source": 2 }, { @@ -7935,7 +7880,7 @@ "end": 2401, "name": "tag", "source": 2, - "value": "102" + "value": "101" }, { "begin": 2126, "end": 2401, "name": "JUMPDEST", "source": 2 }, { @@ -7985,7 +7930,7 @@ "end": 2364, "name": "PUSH [tag]", "source": 2, - "value": "119" + "value": "118" }, { "begin": 2276, "end": 2364, "name": "JUMPI", "source": 2 }, { @@ -7993,14 +7938,14 @@ "end": 2362, "name": "PUSH [tag]", "source": 2, - "value": "119" + "value": "118" }, { "begin": 2344, "end": 2362, "name": "PUSH [tag]", "source": 2, - "value": "101" + "value": "100" }, { "begin": 2344, @@ -8014,7 +7959,7 @@ "end": 2362, "name": "tag", "source": 2, - "value": "119" + "value": "118" }, { "begin": 2344, "end": 2362, "name": "JUMPDEST", "source": 2 }, { @@ -8040,7 +7985,7 @@ "end": 3353, "name": "tag", "source": 2, - "value": "103" + "value": "102" }, { "begin": 2406, "end": 3353, "name": "JUMPDEST", "source": 2 }, { @@ -8066,7 +8011,7 @@ "end": 2618, "name": "PUSH [tag]", "source": 2, - "value": "122" + "value": "121" }, { "begin": 2468, "end": 2618, "name": "JUMPI", "source": 2 }, { @@ -8074,14 +8019,14 @@ "end": 2608, "name": "PUSH [tag]", "source": 2, - "value": "122" + "value": "121" }, { "begin": 2529, "end": 2608, "name": "PUSH [tag]", "source": 2, - "value": "100" + "value": "99" }, { "begin": 2529, @@ -8095,7 +8040,7 @@ "end": 2608, "name": "tag", "source": 2, - "value": "122" + "value": "121" }, { "begin": 2529, "end": 2608, "name": "JUMPDEST", "source": 2 }, { "begin": 2650, "end": 2656, "name": "DUP2", "source": 2 }, @@ -8127,7 +8072,7 @@ "end": 2741, "name": "PUSH [tag]", "source": 2, - "value": "124" + "value": "123" }, { "begin": 2689, "end": 2741, "name": "JUMPI", "source": 2 }, { @@ -8135,14 +8080,14 @@ "end": 2739, "name": "PUSH [tag]", "source": 2, - "value": "124" + "value": "123" }, { "begin": 2721, "end": 2739, "name": "PUSH [tag]", "source": 2, - "value": "101" + "value": "100" }, { "begin": 2721, @@ -8156,7 +8101,7 @@ "end": 2739, "name": "tag", "source": 2, - "value": "124" + "value": "123" }, { "begin": 2721, "end": 2739, "name": "JUMPDEST", "source": 2 }, { @@ -8164,7 +8109,7 @@ "end": 2818, "name": "PUSH [tag]", "source": 2, - "value": "125" + "value": "124" }, { "begin": 2808, @@ -8191,7 +8136,7 @@ "end": 2818, "name": "PUSH [tag]", "source": 2, - "value": "102" + "value": "101" }, { "begin": 2765, @@ -8205,7 +8150,7 @@ "end": 2818, "name": "tag", "source": 2, - "value": "125" + "value": "124" }, { "begin": 2765, "end": 2818, "name": "JUMPDEST", "source": 2 }, { "begin": 2843, "end": 2845, "name": "DUP3", "source": 2 }, @@ -8224,7 +8169,7 @@ "end": 3217, "name": "PUSH [tag]", "source": 2, - "value": "126" + "value": "125" }, { "begin": 2855, "end": 3217, "name": "JUMPI", "source": 2 }, { @@ -8337,7 +8282,7 @@ "end": 3217, "name": "tag", "source": 2, - "value": "126" + "value": "125" }, { "begin": 2855, "end": 3217, "name": "JUMPDEST", "source": 2 }, { "begin": 3274, "end": 3276, "name": "DUP3", "source": 2 }, @@ -8387,7 +8332,7 @@ "end": 3868, "name": "tag", "source": 2, - "value": "32" + "value": "31" }, { "begin": 3358, "end": 3868, "name": "JUMPDEST", "source": 2 }, { @@ -8414,7 +8359,7 @@ "end": 3594, "name": "PUSH [tag]", "source": 2, - "value": "129" + "value": "128" }, { "begin": 3447, "end": 3594, "name": "JUMPI", "source": 2 }, { @@ -8422,14 +8367,14 @@ "end": 3584, "name": "PUSH [tag]", "source": 2, - "value": "129" + "value": "128" }, { "begin": 3505, "end": 3584, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { "begin": 3505, @@ -8443,7 +8388,7 @@ "end": 3584, "name": "tag", "source": 2, - "value": "129" + "value": "128" }, { "begin": 3505, "end": 3584, "name": "JUMPDEST", "source": 2 }, { "begin": 3630, "end": 3639, "name": "DUP2", "source": 2 }, @@ -8468,7 +8413,7 @@ "end": 3794, "name": "PUSH [tag]", "source": 2, - "value": "131" + "value": "130" }, { "begin": 3649, "end": 3794, "name": "JUMPI", "source": 2 }, { @@ -8476,14 +8421,14 @@ "end": 3784, "name": "PUSH [tag]", "source": 2, - "value": "131" + "value": "130" }, { "begin": 3705, "end": 3784, "name": "PUSH [tag]", "source": 2, - "value": "99" + "value": "98" }, { "begin": 3705, @@ -8497,7 +8442,7 @@ "end": 3784, "name": "tag", "source": 2, - "value": "131" + "value": "130" }, { "begin": 3705, "end": 3784, "name": "JUMPDEST", "source": 2 }, { @@ -8505,7 +8450,7 @@ "end": 3862, "name": "PUSH [tag]", "source": 2, - "value": "132" + "value": "131" }, { "begin": 3854, "end": 3861, "name": "DUP5", "source": 2 }, { "begin": 3845, "end": 3851, "name": "DUP3", "source": 2 }, @@ -8516,7 +8461,7 @@ "end": 3862, "name": "PUSH [tag]", "source": 2, - "value": "103" + "value": "102" }, { "begin": 3813, @@ -8530,7 +8475,7 @@ "end": 3862, "name": "tag", "source": 2, - "value": "132" + "value": "131" }, { "begin": 3813, "end": 3862, "name": "JUMPDEST", "source": 2 }, { "begin": 3803, "end": 3862, "name": "SWAP5", "source": 2 }, @@ -8548,1156 +8493,1132 @@ }, { "begin": 3873, - "end": 4036, + "end": 4451, "name": "tag", "source": 2, - "value": "104" + "value": "40" }, - { "begin": 3873, "end": 4036, "name": "JUMPDEST", "source": 2 }, - { "begin": 3940, "end": 3960, "name": "DUP1", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "JUMPDEST", "source": 2 }, { - "begin": 3940, - "end": 3960, - "name": "CALLDATALOAD", - "source": 2 + "begin": 3950, + "end": 3956, + "name": "PUSH", + "source": 2, + "value": "0" }, + { "begin": 3958, "end": 3964, "name": "DUP1", "source": 2 }, { - "begin": 4000, - "end": 4010, + "begin": 4011, + "end": 4013, "name": "PUSH", "source": 2, - "value": "FFFFFFFF" + "value": "40" }, - { "begin": 3989, "end": 4011, "name": "DUP2", "source": 2 }, - { "begin": 3989, "end": 4011, "name": "AND", "source": 2 }, - { "begin": 3979, "end": 4012, "name": "DUP2", "source": 2 }, - { "begin": 3979, "end": 4012, "name": "EQ", "source": 2 }, + { "begin": 3999, "end": 4008, "name": "DUP4", "source": 2 }, + { "begin": 3990, "end": 3997, "name": "DUP6", "source": 2 }, + { "begin": 3986, "end": 4009, "name": "SUB", "source": 2 }, + { "begin": 3982, "end": 4014, "name": "SLT", "source": 2 }, + { "begin": 3979, "end": 4126, "name": "ISZERO", "source": 2 }, { - "begin": 3969, - "end": 4030, + "begin": 3979, + "end": 4126, "name": "PUSH [tag]", "source": 2, "value": "134" }, - { "begin": 3969, "end": 4030, "name": "JUMPI", "source": 2 }, + { "begin": 3979, "end": 4126, "name": "JUMPI", "source": 2 }, { - "begin": 4026, - "end": 4027, - "name": "PUSH", + "begin": 4037, + "end": 4116, + "name": "PUSH [tag]", "source": 2, - "value": "0" + "value": "134" }, - { "begin": 4023, "end": 4024, "name": "DUP1", "source": 2 }, - { "begin": 4016, "end": 4028, "name": "REVERT", "source": 2 }, { - "begin": 3969, - "end": 4030, - "name": "tag", + "begin": 4037, + "end": 4116, + "name": "PUSH [tag]", "source": 2, - "value": "134" + "value": "97" }, - { "begin": 3969, "end": 4030, "name": "JUMPDEST", "source": 2 }, - { "begin": 3873, "end": 4036, "name": "SWAP2", "source": 2 }, - { "begin": 3873, "end": 4036, "name": "SWAP1", "source": 2 }, - { "begin": 3873, "end": 4036, "name": "POP", "source": 2 }, { - "begin": 3873, - "end": 4036, - "jumpType": "[out]", + "begin": 4037, + "end": 4116, + "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4041, - "end": 4464, + "begin": 4037, + "end": 4116, "name": "tag", "source": 2, - "value": "45" + "value": "134" }, - { "begin": 4041, "end": 4464, "name": "JUMPDEST", "source": 2 }, + { "begin": 4037, "end": 4116, "name": "JUMPDEST", "source": 2 }, + { "begin": 4158, "end": 4167, "name": "DUP3", "source": 2 }, { - "begin": 4115, - "end": 4121, - "name": "PUSH", - "source": 2, - "value": "0" + "begin": 4145, + "end": 4168, + "name": "CALLDATALOAD", + "source": 2 }, - { "begin": 4123, "end": 4129, "name": "DUP1", "source": 2 }, + { "begin": 4135, "end": 4168, "name": "SWAP2", "source": 2 }, + { "begin": 4135, "end": 4168, "name": "POP", "source": 2 }, { - "begin": 4131, - "end": 4137, + "begin": 4219, + "end": 4221, "name": "PUSH", "source": 2, - "value": "0" + "value": "20" + }, + { "begin": 4208, "end": 4217, "name": "DUP4", "source": 2 }, + { "begin": 4204, "end": 4222, "name": "ADD", "source": 2 }, + { + "begin": 4191, + "end": 4223, + "name": "CALLDATALOAD", + "source": 2 }, { - "begin": 4184, - "end": 4186, + "begin": 4246, + "end": 4264, "name": "PUSH", "source": 2, - "value": "60" + "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 4172, "end": 4181, "name": "DUP5", "source": 2 }, - { "begin": 4163, "end": 4170, "name": "DUP7", "source": 2 }, - { "begin": 4159, "end": 4182, "name": "SUB", "source": 2 }, - { "begin": 4155, "end": 4187, "name": "SLT", "source": 2 }, - { "begin": 4152, "end": 4299, "name": "ISZERO", "source": 2 }, + { "begin": 4238, "end": 4244, "name": "DUP2", "source": 2 }, + { "begin": 4235, "end": 4265, "name": "GT", "source": 2 }, + { "begin": 4232, "end": 4377, "name": "ISZERO", "source": 2 }, { - "begin": 4152, - "end": 4299, + "begin": 4232, + "end": 4377, "name": "PUSH [tag]", "source": 2, - "value": "137" + "value": "136" }, - { "begin": 4152, "end": 4299, "name": "JUMPI", "source": 2 }, + { "begin": 4232, "end": 4377, "name": "JUMPI", "source": 2 }, { - "begin": 4210, - "end": 4289, + "begin": 4288, + "end": 4367, "name": "PUSH [tag]", "source": 2, - "value": "137" + "value": "136" }, { - "begin": 4210, - "end": 4289, + "begin": 4288, + "end": 4367, "name": "PUSH [tag]", "source": 2, "value": "98" }, { - "begin": 4210, - "end": 4289, + "begin": 4288, + "end": 4367, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4210, - "end": 4289, + "begin": 4288, + "end": 4367, "name": "tag", "source": 2, - "value": "137" + "value": "136" }, - { "begin": 4210, "end": 4289, "name": "JUMPDEST", "source": 2 }, + { "begin": 4288, "end": 4367, "name": "JUMPDEST", "source": 2 }, { - "begin": 4318, - "end": 4346, + "begin": 4396, + "end": 4445, "name": "PUSH [tag]", "source": 2, - "value": "138" + "value": "137" }, - { "begin": 4336, "end": 4345, "name": "DUP5", "source": 2 }, + { "begin": 4437, "end": 4444, "name": "DUP6", "source": 2 }, + { "begin": 4428, "end": 4434, "name": "DUP3", "source": 2 }, + { "begin": 4417, "end": 4426, "name": "DUP7", "source": 2 }, + { "begin": 4413, "end": 4435, "name": "ADD", "source": 2 }, { - "begin": 4318, - "end": 4346, + "begin": 4396, + "end": 4445, "name": "PUSH [tag]", "source": 2, - "value": "104" + "value": "102" }, { - "begin": 4318, - "end": 4346, + "begin": 4396, + "end": 4445, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4318, - "end": 4346, + "begin": 4396, + "end": 4445, "name": "tag", "source": 2, - "value": "138" - }, - { "begin": 4318, "end": 4346, "name": "JUMPDEST", "source": 2 }, - { "begin": 4308, "end": 4346, "name": "SWAP3", "source": 2 }, - { "begin": 4308, "end": 4346, "name": "POP", "source": 2 }, - { - "begin": 4365, - "end": 4402, - "name": "PUSH [tag]", - "source": 2, - "value": "139" - }, - { - "begin": 4398, - "end": 4400, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { "begin": 4387, "end": 4396, "name": "DUP6", "source": 2 }, - { "begin": 4383, "end": 4401, "name": "ADD", "source": 2 }, - { - "begin": 4365, - "end": 4402, - "name": "PUSH [tag]", - "source": 2, - "value": "104" + "value": "137" }, + { "begin": 4396, "end": 4445, "name": "JUMPDEST", "source": 2 }, + { "begin": 4386, "end": 4445, "name": "SWAP2", "source": 2 }, + { "begin": 4386, "end": 4445, "name": "POP", "source": 2 }, + { "begin": 4386, "end": 4445, "name": "POP", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "SWAP3", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "POP", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "SWAP3", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "SWAP1", "source": 2 }, + { "begin": 3873, "end": 4451, "name": "POP", "source": 2 }, { - "begin": 4365, - "end": 4402, - "jumpType": "[in]", + "begin": 3873, + "end": 4451, + "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 4365, - "end": 4402, + "begin": 4456, + "end": 4619, "name": "tag", "source": 2, - "value": "139" + "value": "103" }, - { "begin": 4365, "end": 4402, "name": "JUMPDEST", "source": 2 }, - { "begin": 4355, "end": 4402, "name": "SWAP2", "source": 2 }, - { "begin": 4355, "end": 4402, "name": "POP", "source": 2 }, + { "begin": 4456, "end": 4619, "name": "JUMPDEST", "source": 2 }, + { "begin": 4523, "end": 4543, "name": "DUP1", "source": 2 }, { - "begin": 4421, - "end": 4458, - "name": "PUSH [tag]", - "source": 2, - "value": "140" + "begin": 4523, + "end": 4543, + "name": "CALLDATALOAD", + "source": 2 }, { - "begin": 4454, - "end": 4456, + "begin": 4583, + "end": 4593, "name": "PUSH", "source": 2, - "value": "40" + "value": "FFFFFFFF" }, - { "begin": 4443, "end": 4452, "name": "DUP6", "source": 2 }, - { "begin": 4439, "end": 4457, "name": "ADD", "source": 2 }, + { "begin": 4572, "end": 4594, "name": "DUP2", "source": 2 }, + { "begin": 4572, "end": 4594, "name": "AND", "source": 2 }, + { "begin": 4562, "end": 4595, "name": "DUP2", "source": 2 }, + { "begin": 4562, "end": 4595, "name": "EQ", "source": 2 }, { - "begin": 4421, - "end": 4458, + "begin": 4552, + "end": 4613, "name": "PUSH [tag]", "source": 2, - "value": "104" + "value": "139" }, + { "begin": 4552, "end": 4613, "name": "JUMPI", "source": 2 }, { - "begin": 4421, - "end": 4458, - "jumpType": "[in]", - "name": "JUMP", - "source": 2 + "begin": 4609, + "end": 4610, + "name": "PUSH", + "source": 2, + "value": "0" }, + { "begin": 4606, "end": 4607, "name": "DUP1", "source": 2 }, + { "begin": 4599, "end": 4611, "name": "REVERT", "source": 2 }, { - "begin": 4421, - "end": 4458, + "begin": 4552, + "end": 4613, "name": "tag", "source": 2, - "value": "140" + "value": "139" }, - { "begin": 4421, "end": 4458, "name": "JUMPDEST", "source": 2 }, - { "begin": 4411, "end": 4458, "name": "SWAP1", "source": 2 }, - { "begin": 4411, "end": 4458, "name": "POP", "source": 2 }, - { "begin": 4041, "end": 4464, "name": "SWAP3", "source": 2 }, - { "begin": 4041, "end": 4464, "name": "POP", "source": 2 }, - { "begin": 4041, "end": 4464, "name": "SWAP3", "source": 2 }, - { "begin": 4041, "end": 4464, "name": "POP", "source": 2 }, - { "begin": 4041, "end": 4464, "name": "SWAP3", "source": 2 }, + { "begin": 4552, "end": 4613, "name": "JUMPDEST", "source": 2 }, + { "begin": 4456, "end": 4619, "name": "SWAP2", "source": 2 }, + { "begin": 4456, "end": 4619, "name": "SWAP1", "source": 2 }, + { "begin": 4456, "end": 4619, "name": "POP", "source": 2 }, { - "begin": 4041, - "end": 4464, + "begin": 4456, + "end": 4619, "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 4469, - "end": 4748, + "begin": 4624, + "end": 5047, "name": "tag", "source": 2, - "value": "50" + "value": "49" }, - { "begin": 4469, "end": 4748, "name": "JUMPDEST", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "JUMPDEST", "source": 2 }, { - "begin": 4527, - "end": 4533, + "begin": 4698, + "end": 4704, "name": "PUSH", "source": 2, "value": "0" }, + { "begin": 4706, "end": 4712, "name": "DUP1", "source": 2 }, { - "begin": 4580, - "end": 4582, + "begin": 4714, + "end": 4720, "name": "PUSH", "source": 2, - "value": "20" + "value": "0" + }, + { + "begin": 4767, + "end": 4769, + "name": "PUSH", + "source": 2, + "value": "60" }, - { "begin": 4568, "end": 4577, "name": "DUP3", "source": 2 }, - { "begin": 4559, "end": 4566, "name": "DUP5", "source": 2 }, - { "begin": 4555, "end": 4578, "name": "SUB", "source": 2 }, - { "begin": 4551, "end": 4583, "name": "SLT", "source": 2 }, - { "begin": 4548, "end": 4695, "name": "ISZERO", "source": 2 }, + { "begin": 4755, "end": 4764, "name": "DUP5", "source": 2 }, + { "begin": 4746, "end": 4753, "name": "DUP7", "source": 2 }, + { "begin": 4742, "end": 4765, "name": "SUB", "source": 2 }, + { "begin": 4738, "end": 4770, "name": "SLT", "source": 2 }, + { "begin": 4735, "end": 4882, "name": "ISZERO", "source": 2 }, { - "begin": 4548, - "end": 4695, + "begin": 4735, + "end": 4882, "name": "PUSH [tag]", "source": 2, - "value": "143" + "value": "142" }, - { "begin": 4548, "end": 4695, "name": "JUMPI", "source": 2 }, + { "begin": 4735, "end": 4882, "name": "JUMPI", "source": 2 }, { - "begin": 4606, - "end": 4685, + "begin": 4793, + "end": 4872, "name": "PUSH [tag]", "source": 2, - "value": "143" + "value": "142" }, { - "begin": 4606, - "end": 4685, + "begin": 4793, + "end": 4872, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { - "begin": 4606, - "end": 4685, + "begin": 4793, + "end": 4872, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4606, - "end": 4685, + "begin": 4793, + "end": 4872, "name": "tag", "source": 2, - "value": "143" + "value": "142" }, - { "begin": 4606, "end": 4685, "name": "JUMPDEST", "source": 2 }, + { "begin": 4793, "end": 4872, "name": "JUMPDEST", "source": 2 }, { - "begin": 4714, - "end": 4742, + "begin": 4901, + "end": 4929, "name": "PUSH [tag]", "source": 2, - "value": "144" + "value": "143" }, - { "begin": 4732, "end": 4741, "name": "DUP3", "source": 2 }, + { "begin": 4919, "end": 4928, "name": "DUP5", "source": 2 }, { - "begin": 4714, - "end": 4742, + "begin": 4901, + "end": 4929, "name": "PUSH [tag]", "source": 2, - "value": "104" + "value": "103" }, { - "begin": 4714, - "end": 4742, + "begin": 4901, + "end": 4929, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4714, - "end": 4742, + "begin": 4901, + "end": 4929, "name": "tag", "source": 2, + "value": "143" + }, + { "begin": 4901, "end": 4929, "name": "JUMPDEST", "source": 2 }, + { "begin": 4891, "end": 4929, "name": "SWAP3", "source": 2 }, + { "begin": 4891, "end": 4929, "name": "POP", "source": 2 }, + { + "begin": 4948, + "end": 4985, + "name": "PUSH [tag]", + "source": 2, "value": "144" }, - { "begin": 4714, "end": 4742, "name": "JUMPDEST", "source": 2 }, - { "begin": 4704, "end": 4742, "name": "SWAP4", "source": 2 }, - { "begin": 4469, "end": 4748, "name": "SWAP3", "source": 2 }, - { "begin": -1, "end": -1, "name": "POP", "source": -1 }, - { "begin": -1, "end": -1, "name": "POP", "source": -1 }, - { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { - "begin": 4469, - "end": 4748, - "jumpType": "[out]", + "begin": 4981, + "end": 4983, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { "begin": 4970, "end": 4979, "name": "DUP6", "source": 2 }, + { "begin": 4966, "end": 4984, "name": "ADD", "source": 2 }, + { + "begin": 4948, + "end": 4985, + "name": "PUSH [tag]", + "source": 2, + "value": "103" + }, + { + "begin": 4948, + "end": 4985, + "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 4753, - "end": 5104, + "begin": 4948, + "end": 4985, "name": "tag", "source": 2, - "value": "55" + "value": "144" }, - { "begin": 4753, "end": 5104, "name": "JUMPDEST", "source": 2 }, + { "begin": 4948, "end": 4985, "name": "JUMPDEST", "source": 2 }, + { "begin": 4938, "end": 4985, "name": "SWAP2", "source": 2 }, + { "begin": 4938, "end": 4985, "name": "POP", "source": 2 }, { - "begin": 4819, - "end": 4825, - "name": "PUSH", + "begin": 5004, + "end": 5041, + "name": "PUSH [tag]", "source": 2, - "value": "0" + "value": "145" }, - { "begin": 4827, "end": 4833, "name": "DUP1", "source": 2 }, { - "begin": 4880, - "end": 4882, + "begin": 5037, + "end": 5039, "name": "PUSH", "source": 2, "value": "40" }, - { "begin": 4868, "end": 4877, "name": "DUP4", "source": 2 }, - { "begin": 4859, "end": 4866, "name": "DUP6", "source": 2 }, - { "begin": 4855, "end": 4878, "name": "SUB", "source": 2 }, - { "begin": 4851, "end": 4883, "name": "SLT", "source": 2 }, - { "begin": 4848, "end": 4995, "name": "ISZERO", "source": 2 }, + { "begin": 5026, "end": 5035, "name": "DUP6", "source": 2 }, + { "begin": 5022, "end": 5040, "name": "ADD", "source": 2 }, { - "begin": 4848, - "end": 4995, + "begin": 5004, + "end": 5041, "name": "PUSH [tag]", "source": 2, - "value": "147" + "value": "103" }, - { "begin": 4848, "end": 4995, "name": "JUMPI", "source": 2 }, { - "begin": 4906, - "end": 4985, - "name": "PUSH [tag]", - "source": 2, - "value": "147" + "begin": 5004, + "end": 5041, + "jumpType": "[in]", + "name": "JUMP", + "source": 2 }, { - "begin": 4906, - "end": 4985, - "name": "PUSH [tag]", + "begin": 5004, + "end": 5041, + "name": "tag", "source": 2, - "value": "98" + "value": "145" }, + { "begin": 5004, "end": 5041, "name": "JUMPDEST", "source": 2 }, + { "begin": 4994, "end": 5041, "name": "SWAP1", "source": 2 }, + { "begin": 4994, "end": 5041, "name": "POP", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "SWAP3", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "POP", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "SWAP3", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "POP", "source": 2 }, + { "begin": 4624, "end": 5047, "name": "SWAP3", "source": 2 }, { - "begin": 4906, - "end": 4985, - "jumpType": "[in]", + "begin": 4624, + "end": 5047, + "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 4906, - "end": 4985, + "begin": 5052, + "end": 5331, "name": "tag", "source": 2, - "value": "147" + "value": "54" + }, + { "begin": 5052, "end": 5331, "name": "JUMPDEST", "source": 2 }, + { + "begin": 5110, + "end": 5116, + "name": "PUSH", + "source": 2, + "value": "0" + }, + { + "begin": 5163, + "end": 5165, + "name": "PUSH", + "source": 2, + "value": "20" + }, + { "begin": 5151, "end": 5160, "name": "DUP3", "source": 2 }, + { "begin": 5142, "end": 5149, "name": "DUP5", "source": 2 }, + { "begin": 5138, "end": 5161, "name": "SUB", "source": 2 }, + { "begin": 5134, "end": 5166, "name": "SLT", "source": 2 }, + { "begin": 5131, "end": 5278, "name": "ISZERO", "source": 2 }, + { + "begin": 5131, + "end": 5278, + "name": "PUSH [tag]", + "source": 2, + "value": "148" }, - { "begin": 4906, "end": 4985, "name": "JUMPDEST", "source": 2 }, + { "begin": 5131, "end": 5278, "name": "JUMPI", "source": 2 }, { - "begin": 5014, - "end": 5042, + "begin": 5189, + "end": 5268, "name": "PUSH [tag]", "source": 2, "value": "148" }, - { "begin": 5032, "end": 5041, "name": "DUP4", "source": 2 }, { - "begin": 5014, - "end": 5042, + "begin": 5189, + "end": 5268, "name": "PUSH [tag]", "source": 2, - "value": "104" + "value": "97" }, { - "begin": 5014, - "end": 5042, + "begin": 5189, + "end": 5268, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5014, - "end": 5042, + "begin": 5189, + "end": 5268, "name": "tag", "source": 2, "value": "148" }, - { "begin": 5014, "end": 5042, "name": "JUMPDEST", "source": 2 }, - { "begin": 5004, "end": 5042, "name": "SWAP2", "source": 2 }, - { "begin": 5004, "end": 5042, "name": "POP", "source": 2 }, + { "begin": 5189, "end": 5268, "name": "JUMPDEST", "source": 2 }, { - "begin": 5061, - "end": 5098, + "begin": 5297, + "end": 5325, "name": "PUSH [tag]", "source": 2, "value": "149" }, + { "begin": 5315, "end": 5324, "name": "DUP3", "source": 2 }, { - "begin": 5094, - "end": 5096, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { "begin": 5083, "end": 5092, "name": "DUP5", "source": 2 }, - { "begin": 5079, "end": 5097, "name": "ADD", "source": 2 }, - { - "begin": 5061, - "end": 5098, + "begin": 5297, + "end": 5325, "name": "PUSH [tag]", "source": 2, - "value": "104" + "value": "103" }, { - "begin": 5061, - "end": 5098, + "begin": 5297, + "end": 5325, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5061, - "end": 5098, + "begin": 5297, + "end": 5325, "name": "tag", "source": 2, "value": "149" }, - { "begin": 5061, "end": 5098, "name": "JUMPDEST", "source": 2 }, - { "begin": 5051, "end": 5098, "name": "SWAP1", "source": 2 }, - { "begin": 5051, "end": 5098, "name": "POP", "source": 2 }, - { "begin": 4753, "end": 5104, "name": "SWAP3", "source": 2 }, - { "begin": 4753, "end": 5104, "name": "POP", "source": 2 }, - { "begin": 4753, "end": 5104, "name": "SWAP3", "source": 2 }, - { "begin": 4753, "end": 5104, "name": "SWAP1", "source": 2 }, - { "begin": 4753, "end": 5104, "name": "POP", "source": 2 }, - { - "begin": 4753, - "end": 5104, + { "begin": 5297, "end": 5325, "name": "JUMPDEST", "source": 2 }, + { "begin": 5287, "end": 5325, "name": "SWAP4", "source": 2 }, + { "begin": 5052, "end": 5331, "name": "SWAP3", "source": 2 }, + { "begin": -1, "end": -1, "name": "POP", "source": -1 }, + { "begin": -1, "end": -1, "name": "POP", "source": -1 }, + { "begin": -1, "end": -1, "name": "POP", "source": -1 }, + { + "begin": 5052, + "end": 5331, "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 5109, - "end": 5755, + "begin": 5336, + "end": 5687, "name": "tag", "source": 2, - "value": "60" - }, - { "begin": 5109, "end": 5755, "name": "JUMPDEST", "source": 2 }, - { - "begin": 5195, - "end": 5201, - "name": "PUSH", - "source": 2, - "value": "0" + "value": "59" }, - { "begin": 5203, "end": 5209, "name": "DUP1", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "JUMPDEST", "source": 2 }, { - "begin": 5211, - "end": 5217, + "begin": 5402, + "end": 5408, "name": "PUSH", "source": 2, "value": "0" }, + { "begin": 5410, "end": 5416, "name": "DUP1", "source": 2 }, { - "begin": 5264, - "end": 5266, + "begin": 5463, + "end": 5465, "name": "PUSH", "source": 2, - "value": "60" + "value": "40" }, - { "begin": 5252, "end": 5261, "name": "DUP5", "source": 2 }, - { "begin": 5243, "end": 5250, "name": "DUP7", "source": 2 }, - { "begin": 5239, "end": 5262, "name": "SUB", "source": 2 }, - { "begin": 5235, "end": 5267, "name": "SLT", "source": 2 }, - { "begin": 5232, "end": 5379, "name": "ISZERO", "source": 2 }, + { "begin": 5451, "end": 5460, "name": "DUP4", "source": 2 }, + { "begin": 5442, "end": 5449, "name": "DUP6", "source": 2 }, + { "begin": 5438, "end": 5461, "name": "SUB", "source": 2 }, + { "begin": 5434, "end": 5466, "name": "SLT", "source": 2 }, + { "begin": 5431, "end": 5578, "name": "ISZERO", "source": 2 }, { - "begin": 5232, - "end": 5379, + "begin": 5431, + "end": 5578, "name": "PUSH [tag]", "source": 2, "value": "152" }, - { "begin": 5232, "end": 5379, "name": "JUMPI", "source": 2 }, + { "begin": 5431, "end": 5578, "name": "JUMPI", "source": 2 }, { - "begin": 5290, - "end": 5369, + "begin": 5489, + "end": 5568, "name": "PUSH [tag]", "source": 2, "value": "152" }, { - "begin": 5290, - "end": 5369, + "begin": 5489, + "end": 5568, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { - "begin": 5290, - "end": 5369, + "begin": 5489, + "end": 5568, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5290, - "end": 5369, + "begin": 5489, + "end": 5568, "name": "tag", "source": 2, "value": "152" }, - { "begin": 5290, "end": 5369, "name": "JUMPDEST", "source": 2 }, - { "begin": 5411, "end": 5420, "name": "DUP4", "source": 2 }, - { - "begin": 5398, - "end": 5421, - "name": "CALLDATALOAD", - "source": 2 - }, - { "begin": 5388, "end": 5421, "name": "SWAP3", "source": 2 }, - { "begin": 5388, "end": 5421, "name": "POP", "source": 2 }, - { - "begin": 5468, - "end": 5470, - "name": "PUSH", - "source": 2, - "value": "20" - }, - { "begin": 5457, "end": 5466, "name": "DUP5", "source": 2 }, - { "begin": 5453, "end": 5471, "name": "ADD", "source": 2 }, - { - "begin": 5440, - "end": 5472, - "name": "CALLDATALOAD", - "source": 2 - }, - { "begin": 5430, "end": 5472, "name": "SWAP2", "source": 2 }, - { "begin": 5430, "end": 5472, "name": "POP", "source": 2 }, - { - "begin": 5523, - "end": 5525, - "name": "PUSH", - "source": 2, - "value": "40" - }, - { "begin": 5512, "end": 5521, "name": "DUP5", "source": 2 }, - { "begin": 5508, "end": 5526, "name": "ADD", "source": 2 }, - { - "begin": 5495, - "end": 5527, - "name": "CALLDATALOAD", - "source": 2 - }, - { - "begin": 5550, - "end": 5568, - "name": "PUSH", - "source": 2, - "value": "FFFFFFFFFFFFFFFF" - }, - { "begin": 5542, "end": 5548, "name": "DUP2", "source": 2 }, - { "begin": 5539, "end": 5569, "name": "GT", "source": 2 }, - { "begin": 5536, "end": 5681, "name": "ISZERO", "source": 2 }, - { - "begin": 5536, - "end": 5681, - "name": "PUSH [tag]", - "source": 2, - "value": "154" - }, - { "begin": 5536, "end": 5681, "name": "JUMPI", "source": 2 }, + { "begin": 5489, "end": 5568, "name": "JUMPDEST", "source": 2 }, { - "begin": 5592, - "end": 5671, + "begin": 5597, + "end": 5625, "name": "PUSH [tag]", "source": 2, - "value": "154" + "value": "153" }, + { "begin": 5615, "end": 5624, "name": "DUP4", "source": 2 }, { - "begin": 5592, - "end": 5671, + "begin": 5597, + "end": 5625, "name": "PUSH [tag]", "source": 2, - "value": "99" + "value": "103" }, { - "begin": 5592, - "end": 5671, + "begin": 5597, + "end": 5625, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5592, - "end": 5671, + "begin": 5597, + "end": 5625, "name": "tag", "source": 2, - "value": "154" + "value": "153" }, - { "begin": 5592, "end": 5671, "name": "JUMPDEST", "source": 2 }, + { "begin": 5597, "end": 5625, "name": "JUMPDEST", "source": 2 }, + { "begin": 5587, "end": 5625, "name": "SWAP2", "source": 2 }, + { "begin": 5587, "end": 5625, "name": "POP", "source": 2 }, { - "begin": 5700, - "end": 5749, + "begin": 5644, + "end": 5681, "name": "PUSH [tag]", "source": 2, - "value": "155" + "value": "154" + }, + { + "begin": 5677, + "end": 5679, + "name": "PUSH", + "source": 2, + "value": "20" }, - { "begin": 5741, "end": 5748, "name": "DUP7", "source": 2 }, - { "begin": 5732, "end": 5738, "name": "DUP3", "source": 2 }, - { "begin": 5721, "end": 5730, "name": "DUP8", "source": 2 }, - { "begin": 5717, "end": 5739, "name": "ADD", "source": 2 }, + { "begin": 5666, "end": 5675, "name": "DUP5", "source": 2 }, + { "begin": 5662, "end": 5680, "name": "ADD", "source": 2 }, { - "begin": 5700, - "end": 5749, + "begin": 5644, + "end": 5681, "name": "PUSH [tag]", "source": 2, "value": "103" }, { - "begin": 5700, - "end": 5749, + "begin": 5644, + "end": 5681, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5700, - "end": 5749, + "begin": 5644, + "end": 5681, "name": "tag", "source": 2, - "value": "155" + "value": "154" }, - { "begin": 5700, "end": 5749, "name": "JUMPDEST", "source": 2 }, - { "begin": 5690, "end": 5749, "name": "SWAP2", "source": 2 }, - { "begin": 5690, "end": 5749, "name": "POP", "source": 2 }, - { "begin": 5690, "end": 5749, "name": "POP", "source": 2 }, - { "begin": 5109, "end": 5755, "name": "SWAP3", "source": 2 }, - { "begin": 5109, "end": 5755, "name": "POP", "source": 2 }, - { "begin": 5109, "end": 5755, "name": "SWAP3", "source": 2 }, - { "begin": 5109, "end": 5755, "name": "POP", "source": 2 }, - { "begin": 5109, "end": 5755, "name": "SWAP3", "source": 2 }, - { - "begin": 5109, - "end": 5755, + { "begin": 5644, "end": 5681, "name": "JUMPDEST", "source": 2 }, + { "begin": 5634, "end": 5681, "name": "SWAP1", "source": 2 }, + { "begin": 5634, "end": 5681, "name": "POP", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "SWAP3", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "POP", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "SWAP3", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "SWAP1", "source": 2 }, + { "begin": 5336, "end": 5687, "name": "POP", "source": 2 }, + { + "begin": 5336, + "end": 5687, "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 5760, - "end": 6196, + "begin": 5692, + "end": 6128, "name": "tag", "source": 2, - "value": "68" + "value": "67" }, - { "begin": 5760, "end": 6196, "name": "JUMPDEST", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "JUMPDEST", "source": 2 }, { - "begin": 5825, - "end": 5831, + "begin": 5757, + "end": 5763, "name": "PUSH", "source": 2, "value": "0" }, - { "begin": 5833, "end": 5839, "name": "DUP1", "source": 2 }, + { "begin": 5765, "end": 5771, "name": "DUP1", "source": 2 }, { - "begin": 5886, - "end": 5888, + "begin": 5818, + "end": 5820, "name": "PUSH", "source": 2, "value": "40" }, - { "begin": 5874, "end": 5883, "name": "DUP4", "source": 2 }, - { "begin": 5865, "end": 5872, "name": "DUP6", "source": 2 }, - { "begin": 5861, "end": 5884, "name": "SUB", "source": 2 }, - { "begin": 5857, "end": 5889, "name": "SLT", "source": 2 }, - { "begin": 5854, "end": 6001, "name": "ISZERO", "source": 2 }, + { "begin": 5806, "end": 5815, "name": "DUP4", "source": 2 }, + { "begin": 5797, "end": 5804, "name": "DUP6", "source": 2 }, + { "begin": 5793, "end": 5816, "name": "SUB", "source": 2 }, + { "begin": 5789, "end": 5821, "name": "SLT", "source": 2 }, + { "begin": 5786, "end": 5933, "name": "ISZERO", "source": 2 }, { - "begin": 5854, - "end": 6001, + "begin": 5786, + "end": 5933, "name": "PUSH [tag]", "source": 2, - "value": "158" + "value": "157" }, - { "begin": 5854, "end": 6001, "name": "JUMPI", "source": 2 }, + { "begin": 5786, "end": 5933, "name": "JUMPI", "source": 2 }, { - "begin": 5912, - "end": 5991, + "begin": 5844, + "end": 5923, "name": "PUSH [tag]", "source": 2, - "value": "158" + "value": "157" }, { - "begin": 5912, - "end": 5991, + "begin": 5844, + "end": 5923, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { - "begin": 5912, - "end": 5991, + "begin": 5844, + "end": 5923, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 5912, - "end": 5991, + "begin": 5844, + "end": 5923, "name": "tag", "source": 2, - "value": "158" + "value": "157" }, - { "begin": 5912, "end": 5991, "name": "JUMPDEST", "source": 2 }, - { "begin": 6033, "end": 6042, "name": "DUP3", "source": 2 }, + { "begin": 5844, "end": 5923, "name": "JUMPDEST", "source": 2 }, + { "begin": 5965, "end": 5974, "name": "DUP3", "source": 2 }, { - "begin": 6020, - "end": 6043, + "begin": 5952, + "end": 5975, "name": "CALLDATALOAD", "source": 2 }, - { "begin": 6010, "end": 6043, "name": "SWAP2", "source": 2 }, - { "begin": 6010, "end": 6043, "name": "POP", "source": 2 }, + { "begin": 5942, "end": 5975, "name": "SWAP2", "source": 2 }, + { "begin": 5942, "end": 5975, "name": "POP", "source": 2 }, { - "begin": 6093, - "end": 6095, + "begin": 6025, + "end": 6027, "name": "PUSH", "source": 2, "value": "20" }, - { "begin": 6082, "end": 6091, "name": "DUP4", "source": 2 }, - { "begin": 6078, "end": 6096, "name": "ADD", "source": 2 }, + { "begin": 6014, "end": 6023, "name": "DUP4", "source": 2 }, + { "begin": 6010, "end": 6028, "name": "ADD", "source": 2 }, { - "begin": 6065, - "end": 6097, + "begin": 5997, + "end": 6029, "name": "CALLDATALOAD", "source": 2 }, - { "begin": 6140, "end": 6145, "name": "DUP1", "source": 2 }, - { "begin": 6133, "end": 6146, "name": "ISZERO", "source": 2 }, - { "begin": 6126, "end": 6147, "name": "ISZERO", "source": 2 }, - { "begin": 6119, "end": 6124, "name": "DUP2", "source": 2 }, - { "begin": 6116, "end": 6148, "name": "EQ", "source": 2 }, + { "begin": 6072, "end": 6077, "name": "DUP1", "source": 2 }, + { "begin": 6065, "end": 6078, "name": "ISZERO", "source": 2 }, + { "begin": 6058, "end": 6079, "name": "ISZERO", "source": 2 }, + { "begin": 6051, "end": 6056, "name": "DUP2", "source": 2 }, + { "begin": 6048, "end": 6080, "name": "EQ", "source": 2 }, { - "begin": 6106, - "end": 6166, + "begin": 6038, + "end": 6098, "name": "PUSH [tag]", "source": 2, - "value": "159" + "value": "158" }, - { "begin": 6106, "end": 6166, "name": "JUMPI", "source": 2 }, + { "begin": 6038, "end": 6098, "name": "JUMPI", "source": 2 }, { - "begin": 6162, - "end": 6163, + "begin": 6094, + "end": 6095, "name": "PUSH", "source": 2, "value": "0" }, - { "begin": 6159, "end": 6160, "name": "DUP1", "source": 2 }, - { "begin": 6152, "end": 6164, "name": "REVERT", "source": 2 }, + { "begin": 6091, "end": 6092, "name": "DUP1", "source": 2 }, + { "begin": 6084, "end": 6096, "name": "REVERT", "source": 2 }, { - "begin": 6106, - "end": 6166, + "begin": 6038, + "end": 6098, "name": "tag", "source": 2, - "value": "159" - }, - { "begin": 6106, "end": 6166, "name": "JUMPDEST", "source": 2 }, - { "begin": 6185, "end": 6190, "name": "DUP1", "source": 2 }, - { "begin": 6175, "end": 6190, "name": "SWAP2", "source": 2 }, - { "begin": 6175, "end": 6190, "name": "POP", "source": 2 }, - { "begin": 6175, "end": 6190, "name": "POP", "source": 2 }, - { "begin": 5760, "end": 6196, "name": "SWAP3", "source": 2 }, - { "begin": 5760, "end": 6196, "name": "POP", "source": 2 }, - { "begin": 5760, "end": 6196, "name": "SWAP3", "source": 2 }, - { "begin": 5760, "end": 6196, "name": "SWAP1", "source": 2 }, - { "begin": 5760, "end": 6196, "name": "POP", "source": 2 }, - { - "begin": 5760, - "end": 6196, + "value": "158" + }, + { "begin": 6038, "end": 6098, "name": "JUMPDEST", "source": 2 }, + { "begin": 6117, "end": 6122, "name": "DUP1", "source": 2 }, + { "begin": 6107, "end": 6122, "name": "SWAP2", "source": 2 }, + { "begin": 6107, "end": 6122, "name": "POP", "source": 2 }, + { "begin": 6107, "end": 6122, "name": "POP", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "SWAP3", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "POP", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "SWAP3", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "SWAP1", "source": 2 }, + { "begin": 5692, "end": 6128, "name": "POP", "source": 2 }, + { + "begin": 5692, + "end": 6128, "jumpType": "[out]", "name": "JUMP", "source": 2 }, { - "begin": 6201, - "end": 7745, + "begin": 6133, + "end": 7677, "name": "tag", "source": 2, - "value": "73" + "value": "76" }, - { "begin": 6201, "end": 7745, "name": "JUMPDEST", "source": 2 }, + { "begin": 6133, "end": 7677, "name": "JUMPDEST", "source": 2 }, { - "begin": 6285, - "end": 6291, + "begin": 6217, + "end": 6223, "name": "PUSH", "source": 2, "value": "0" }, { - "begin": 6316, - "end": 6318, + "begin": 6248, + "end": 6250, "name": "PUSH", "source": 2, "value": "20" }, - { "begin": 6359, "end": 6361, "name": "DUP1", "source": 2 }, - { "begin": 6347, "end": 6356, "name": "DUP4", "source": 2 }, - { "begin": 6338, "end": 6345, "name": "DUP6", "source": 2 }, - { "begin": 6334, "end": 6357, "name": "SUB", "source": 2 }, - { "begin": 6330, "end": 6362, "name": "SLT", "source": 2 }, - { "begin": 6327, "end": 6474, "name": "ISZERO", "source": 2 }, + { "begin": 6291, "end": 6293, "name": "DUP1", "source": 2 }, + { "begin": 6279, "end": 6288, "name": "DUP4", "source": 2 }, + { "begin": 6270, "end": 6277, "name": "DUP6", "source": 2 }, + { "begin": 6266, "end": 6289, "name": "SUB", "source": 2 }, + { "begin": 6262, "end": 6294, "name": "SLT", "source": 2 }, + { "begin": 6259, "end": 6406, "name": "ISZERO", "source": 2 }, { - "begin": 6327, - "end": 6474, + "begin": 6259, + "end": 6406, "name": "PUSH [tag]", "source": 2, - "value": "162" + "value": "161" }, - { "begin": 6327, "end": 6474, "name": "JUMPI", "source": 2 }, + { "begin": 6259, "end": 6406, "name": "JUMPI", "source": 2 }, { - "begin": 6385, - "end": 6464, + "begin": 6317, + "end": 6396, "name": "PUSH [tag]", "source": 2, - "value": "162" + "value": "161" }, { - "begin": 6385, - "end": 6464, + "begin": 6317, + "end": 6396, "name": "PUSH [tag]", "source": 2, - "value": "98" + "value": "97" }, { - "begin": 6385, - "end": 6464, + "begin": 6317, + "end": 6396, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 6385, - "end": 6464, + "begin": 6317, + "end": 6396, "name": "tag", "source": 2, - "value": "162" + "value": "161" }, - { "begin": 6385, "end": 6464, "name": "JUMPDEST", "source": 2 }, - { "begin": 6510, "end": 6519, "name": "DUP3", "source": 2 }, + { "begin": 6317, "end": 6396, "name": "JUMPDEST", "source": 2 }, + { "begin": 6442, "end": 6451, "name": "DUP3", "source": 2 }, { - "begin": 6497, - "end": 6520, + "begin": 6429, + "end": 6452, "name": "CALLDATALOAD", "source": 2 }, { - "begin": 6539, - "end": 6557, + "begin": 6471, + "end": 6489, "name": "PUSH", "source": 2, "value": "FFFFFFFFFFFFFFFF" }, - { "begin": 6580, "end": 6582, "name": "DUP1", "source": 2 }, - { "begin": 6572, "end": 6578, "name": "DUP3", "source": 2 }, - { "begin": 6569, "end": 6583, "name": "GT", "source": 2 }, - { "begin": 6566, "end": 6695, "name": "ISZERO", "source": 2 }, + { "begin": 6512, "end": 6514, "name": "DUP1", "source": 2 }, + { "begin": 6504, "end": 6510, "name": "DUP3", "source": 2 }, + { "begin": 6501, "end": 6515, "name": "GT", "source": 2 }, + { "begin": 6498, "end": 6627, "name": "ISZERO", "source": 2 }, { - "begin": 6566, - "end": 6695, + "begin": 6498, + "end": 6627, "name": "PUSH [tag]", "source": 2, - "value": "164" + "value": "163" }, - { "begin": 6566, "end": 6695, "name": "JUMPI", "source": 2 }, + { "begin": 6498, "end": 6627, "name": "JUMPI", "source": 2 }, { - "begin": 6606, - "end": 6685, + "begin": 6538, + "end": 6617, "name": "PUSH [tag]", "source": 2, - "value": "164" + "value": "163" }, { - "begin": 6606, - "end": 6685, + "begin": 6538, + "end": 6617, "name": "PUSH [tag]", "source": 2, - "value": "99" + "value": "98" }, { - "begin": 6606, - "end": 6685, + "begin": 6538, + "end": 6617, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 6606, - "end": 6685, + "begin": 6538, + "end": 6617, "name": "tag", "source": 2, - "value": "164" + "value": "163" }, - { "begin": 6606, "end": 6685, "name": "JUMPDEST", "source": 2 }, - { "begin": 6729, "end": 6735, "name": "DUP2", "source": 2 }, - { "begin": 6718, "end": 6727, "name": "DUP6", "source": 2 }, - { "begin": 6714, "end": 6736, "name": "ADD", "source": 2 }, - { "begin": 6704, "end": 6736, "name": "SWAP2", "source": 2 }, - { "begin": 6704, "end": 6736, "name": "POP", "source": 2 }, - { "begin": 6774, "end": 6781, "name": "DUP6", "source": 2 }, + { "begin": 6538, "end": 6617, "name": "JUMPDEST", "source": 2 }, + { "begin": 6661, "end": 6667, "name": "DUP2", "source": 2 }, + { "begin": 6650, "end": 6659, "name": "DUP6", "source": 2 }, + { "begin": 6646, "end": 6668, "name": "ADD", "source": 2 }, + { "begin": 6636, "end": 6668, "name": "SWAP2", "source": 2 }, + { "begin": 6636, "end": 6668, "name": "POP", "source": 2 }, + { "begin": 6706, "end": 6713, "name": "DUP6", "source": 2 }, { - "begin": 6767, - "end": 6771, + "begin": 6699, + "end": 6703, "name": "PUSH", "source": 2, "value": "1F" }, - { "begin": 6763, "end": 6765, "name": "DUP4", "source": 2 }, - { "begin": 6759, "end": 6772, "name": "ADD", "source": 2 }, - { "begin": 6755, "end": 6782, "name": "SLT", "source": 2 }, + { "begin": 6695, "end": 6697, "name": "DUP4", "source": 2 }, + { "begin": 6691, "end": 6704, "name": "ADD", "source": 2 }, + { "begin": 6687, "end": 6714, "name": "SLT", "source": 2 }, { - "begin": 6745, - "end": 6895, + "begin": 6677, + "end": 6827, "name": "PUSH [tag]", "source": 2, - "value": "166" + "value": "165" }, - { "begin": 6745, "end": 6895, "name": "JUMPI", "source": 2 }, + { "begin": 6677, "end": 6827, "name": "JUMPI", "source": 2 }, { - "begin": 6806, - "end": 6885, + "begin": 6738, + "end": 6817, "name": "PUSH [tag]", "source": 2, - "value": "166" + "value": "165" }, { - "begin": 6806, - "end": 6885, + "begin": 6738, + "end": 6817, "name": "PUSH [tag]", "source": 2, - "value": "100" + "value": "99" }, { - "begin": 6806, - "end": 6885, + "begin": 6738, + "end": 6817, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 6806, - "end": 6885, + "begin": 6738, + "end": 6817, "name": "tag", "source": 2, - "value": "166" + "value": "165" }, - { "begin": 6806, "end": 6885, "name": "JUMPDEST", "source": 2 }, - { "begin": 6927, "end": 6929, "name": "DUP2", "source": 2 }, + { "begin": 6738, "end": 6817, "name": "JUMPDEST", "source": 2 }, + { "begin": 6859, "end": 6861, "name": "DUP2", "source": 2 }, { - "begin": 6914, - "end": 6930, + "begin": 6846, + "end": 6862, "name": "CALLDATALOAD", "source": 2 }, - { "begin": 6949, "end": 6951, "name": "DUP2", "source": 2 }, - { "begin": 6945, "end": 6947, "name": "DUP2", "source": 2 }, - { "begin": 6942, "end": 6952, "name": "GT", "source": 2 }, - { "begin": 6939, "end": 6975, "name": "ISZERO", "source": 2 }, + { "begin": 6881, "end": 6883, "name": "DUP2", "source": 2 }, + { "begin": 6877, "end": 6879, "name": "DUP2", "source": 2 }, + { "begin": 6874, "end": 6884, "name": "GT", "source": 2 }, + { "begin": 6871, "end": 6907, "name": "ISZERO", "source": 2 }, { - "begin": 6939, - "end": 6975, + "begin": 6871, + "end": 6907, "name": "PUSH [tag]", "source": 2, - "value": "168" + "value": "167" }, - { "begin": 6939, "end": 6975, "name": "JUMPI", "source": 2 }, + { "begin": 6871, "end": 6907, "name": "JUMPI", "source": 2 }, { - "begin": 6955, - "end": 6973, + "begin": 6887, + "end": 6905, "name": "PUSH [tag]", "source": 2, - "value": "168" + "value": "167" }, { - "begin": 6955, - "end": 6973, + "begin": 6887, + "end": 6905, "name": "PUSH [tag]", "source": 2, - "value": "101" + "value": "100" }, { - "begin": 6955, - "end": 6973, + "begin": 6887, + "end": 6905, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 6955, - "end": 6973, + "begin": 6887, + "end": 6905, "name": "tag", "source": 2, - "value": "168" + "value": "167" }, - { "begin": 6955, "end": 6973, "name": "JUMPDEST", "source": 2 }, - { "begin": 7001, "end": 7003, "name": "DUP1", "source": 2 }, + { "begin": 6887, "end": 6905, "name": "JUMPDEST", "source": 2 }, + { "begin": 6933, "end": 6935, "name": "DUP1", "source": 2 }, { - "begin": 6998, - "end": 6999, + "begin": 6930, + "end": 6931, "name": "PUSH", "source": 2, "value": "5" }, - { "begin": 6994, "end": 7004, "name": "SHL", "source": 2 }, - { "begin": 6984, "end": 7004, "name": "SWAP2", "source": 2 }, - { "begin": 6984, "end": 7004, "name": "POP", "source": 2 }, + { "begin": 6926, "end": 6936, "name": "SHL", "source": 2 }, + { "begin": 6916, "end": 6936, "name": "SWAP2", "source": 2 }, + { "begin": 6916, "end": 6936, "name": "POP", "source": 2 }, { - "begin": 7024, - "end": 7052, + "begin": 6956, + "end": 6984, "name": "PUSH [tag]", "source": 2, - "value": "169" + "value": "168" }, - { "begin": 7048, "end": 7050, "name": "DUP5", "source": 2 }, - { "begin": 7044, "end": 7046, "name": "DUP4", "source": 2 }, - { "begin": 7040, "end": 7051, "name": "ADD", "source": 2 }, + { "begin": 6980, "end": 6982, "name": "DUP5", "source": 2 }, + { "begin": 6976, "end": 6978, "name": "DUP4", "source": 2 }, + { "begin": 6972, "end": 6983, "name": "ADD", "source": 2 }, { - "begin": 7024, - "end": 7052, + "begin": 6956, + "end": 6984, "name": "PUSH [tag]", "source": 2, - "value": "102" + "value": "101" }, { - "begin": 7024, - "end": 7052, + "begin": 6956, + "end": 6984, "jumpType": "[in]", "name": "JUMP", "source": 2 }, { - "begin": 7024, - "end": 7052, + "begin": 6956, + "end": 6984, "name": "tag", "source": 2, - "value": "169" + "value": "168" }, - { "begin": 7024, "end": 7052, "name": "JUMPDEST", "source": 2 }, - { "begin": 7086, "end": 7101, "name": "DUP2", "source": 2 }, - { "begin": 7086, "end": 7101, "name": "DUP2", "source": 2 }, - { "begin": 7086, "end": 7101, "name": "MSTORE", "source": 2 }, - { "begin": 7156, "end": 7167, "name": "SWAP2", "source": 2 }, - { "begin": 7156, "end": 7167, "name": "DUP4", "source": 2 }, - { "begin": 7156, "end": 7167, "name": "ADD", "source": 2 }, - { "begin": 7152, "end": 7172, "name": "DUP5", "source": 2 }, - { "begin": 7152, "end": 7172, "name": "ADD", "source": 2 }, - { "begin": 7152, "end": 7172, "name": "SWAP2", "source": 2 }, - { "begin": 7117, "end": 7129, "name": "DUP5", "source": 2 }, - { "begin": 7117, "end": 7129, "name": "DUP2", "source": 2 }, - { "begin": 7117, "end": 7129, "name": "ADD", "source": 2 }, - { "begin": 7117, "end": 7129, "name": "SWAP1", "source": 2 }, - { "begin": 7184, "end": 7203, "name": "DUP9", "source": 2 }, - { "begin": 7184, "end": 7203, "name": "DUP5", "source": 2 }, - { "begin": 7184, "end": 7203, "name": "GT", "source": 2 }, - { "begin": 7181, "end": 7533, "name": "ISZERO", "source": 2 }, - { - "begin": 7181, - "end": 7533, + { "begin": 6956, "end": 6984, "name": "JUMPDEST", "source": 2 }, + { "begin": 7018, "end": 7033, "name": "DUP2", "source": 2 }, + { "begin": 7018, "end": 7033, "name": "DUP2", "source": 2 }, + { "begin": 7018, "end": 7033, "name": "MSTORE", "source": 2 }, + { "begin": 7088, "end": 7099, "name": "SWAP2", "source": 2 }, + { "begin": 7088, "end": 7099, "name": "DUP4", "source": 2 }, + { "begin": 7088, "end": 7099, "name": "ADD", "source": 2 }, + { "begin": 7084, "end": 7104, "name": "DUP5", "source": 2 }, + { "begin": 7084, "end": 7104, "name": "ADD", "source": 2 }, + { "begin": 7084, "end": 7104, "name": "SWAP2", "source": 2 }, + { "begin": 7049, "end": 7061, "name": "DUP5", "source": 2 }, + { "begin": 7049, "end": 7061, "name": "DUP2", "source": 2 }, + { "begin": 7049, "end": 7061, "name": "ADD", "source": 2 }, + { "begin": 7049, "end": 7061, "name": "SWAP1", "source": 2 }, + { "begin": 7116, "end": 7135, "name": "DUP9", "source": 2 }, + { "begin": 7116, "end": 7135, "name": "DUP5", "source": 2 }, + { "begin": 7116, "end": 7135, "name": "GT", "source": 2 }, + { "begin": 7113, "end": 7465, "name": "ISZERO", "source": 2 }, + { + "begin": 7113, + "end": 7465, "name": "PUSH [tag]", "source": 2, - "value": "170" + "value": "169" }, - { "begin": 7181, "end": 7533, "name": "JUMPI", "source": 2 }, + { "begin": 7113, "end": 7465, "name": "JUMPI", "source": 2 }, { - "begin": 7245, - "end": 7247, + "begin": 7177, + "end": 7179, "name": "PUSH", "source": 2, "value": "40" }, - { "begin": 7239, "end": 7248, "name": "MLOAD", "source": 2 }, + { "begin": 7171, "end": 7180, "name": "MLOAD", "source": 2 }, { "begin": -1, "end": -1, @@ -9713,54 +9634,54 @@ "value": "E5" }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, - { "begin": 7261, "end": 7293, "name": "DUP2", "source": 2 }, - { "begin": 7261, "end": 7293, "name": "MSTORE", "source": 2 }, + { "begin": 7193, "end": 7225, "name": "DUP2", "source": 2 }, + { "begin": 7193, "end": 7225, "name": "MSTORE", "source": 2 }, { - "begin": 7324, - "end": 7325, + "begin": 7256, + "end": 7257, "name": "PUSH", "source": 2, "value": "4" }, - { "begin": 7313, "end": 7326, "name": "DUP2", "source": 2 }, - { "begin": 7313, "end": 7326, "name": "ADD", "source": 2 }, - { "begin": 7306, "end": 7331, "name": "DUP8", "source": 2 }, - { "begin": 7306, "end": 7331, "name": "SWAP1", "source": 2 }, - { "begin": 7306, "end": 7331, "name": "MSTORE", "source": 2 }, + { "begin": 7245, "end": 7258, "name": "DUP2", "source": 2 }, + { "begin": 7245, "end": 7258, "name": "ADD", "source": 2 }, + { "begin": 7238, "end": 7263, "name": "DUP8", "source": 2 }, + { "begin": 7238, "end": 7263, "name": "SWAP1", "source": 2 }, + { "begin": 7238, "end": 7263, "name": "MSTORE", "source": 2 }, { - "begin": 7367, - "end": 7369, + "begin": 7299, + "end": 7301, "name": "PUSH", "source": 2, "value": "2B" }, { - "begin": 7362, - "end": 7364, + "begin": 7294, + "end": 7296, "name": "PUSH", "source": 2, "value": "24" }, - { "begin": 7351, "end": 7365, "name": "DUP3", "source": 2 }, - { "begin": 7351, "end": 7365, "name": "ADD", "source": 2 }, - { "begin": 7344, "end": 7370, "name": "MSTORE", "source": 2 }, + { "begin": 7283, "end": 7297, "name": "DUP3", "source": 2 }, + { "begin": 7283, "end": 7297, "name": "ADD", "source": 2 }, + { "begin": 7276, "end": 7302, "name": "MSTORE", "source": 2 }, { - "begin": 7406, - "end": 7440, + "begin": 7338, + "end": 7372, "name": "PUSH", "source": 2, "value": "414249206465636F64696E673A20696E76616C69642063616C6C646174612061" }, { - "begin": 7401, - "end": 7403, + "begin": 7333, + "end": 7335, "name": "PUSH", "source": 2, "value": "44" }, - { "begin": 7390, "end": 7404, "name": "DUP3", "source": 2 }, - { "begin": 7390, "end": 7404, "name": "ADD", "source": 2 }, - { "begin": 7383, "end": 7441, "name": "MSTORE", "source": 2 }, + { "begin": 7322, "end": 7336, "name": "DUP3", "source": 2 }, + { "begin": 7322, "end": 7336, "name": "ADD", "source": 2 }, + { "begin": 7315, "end": 7373, "name": "MSTORE", "source": 2 }, { "begin": -1, "end": -1, @@ -9777,93 +9698,93 @@ }, { "begin": -1, "end": -1, "name": "SHL", "source": -1 }, { - "begin": 7472, - "end": 7475, + "begin": 7404, + "end": 7407, "name": "PUSH", "source": 2, "value": "64" }, - { "begin": 7461, "end": 7476, "name": "DUP3", "source": 2 }, - { "begin": 7461, "end": 7476, "name": "ADD", "source": 2 }, - { "begin": 7454, "end": 7492, "name": "MSTORE", "source": 2 }, - { "begin": 7239, "end": 7248, "name": "SWAP3", "source": 2 }, + { "begin": 7393, "end": 7408, "name": "DUP3", "source": 2 }, + { "begin": 7393, "end": 7408, "name": "ADD", "source": 2 }, + { "begin": 7386, "end": 7424, "name": "MSTORE", "source": 2 }, + { "begin": 7171, "end": 7180, "name": "SWAP3", "source": 2 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { - "begin": 7519, - "end": 7522, + "begin": 7451, + "end": 7454, "name": "PUSH", "source": 2, "value": "84" }, - { "begin": 7239, "end": 7248, "name": "DUP4", "source": 2 }, - { "begin": 7505, "end": 7523, "name": "REVERT", "source": 2 }, + { "begin": 7171, "end": 7180, "name": "DUP4", "source": 2 }, + { "begin": 7437, "end": 7455, "name": "REVERT", "source": 2 }, { - "begin": 7181, - "end": 7533, + "begin": 7113, + "end": 7465, "name": "tag", "source": 2, - "value": "170" + "value": "169" }, - { "begin": 7181, "end": 7533, "name": "JUMPDEST", "source": 2 }, - { "begin": 7553, "end": 7564, "name": "SWAP4", "source": 2 }, - { "begin": 7553, "end": 7564, "name": "DUP6", "source": 2 }, - { "begin": 7553, "end": 7564, "name": "ADD", "source": 2 }, - { "begin": 7553, "end": 7564, "name": "SWAP4", "source": 2 }, + { "begin": 7113, "end": 7465, "name": "JUMPDEST", "source": 2 }, + { "begin": 7485, "end": 7496, "name": "SWAP4", "source": 2 }, + { "begin": 7485, "end": 7496, "name": "DUP6", "source": 2 }, + { "begin": 7485, "end": 7496, "name": "ADD", "source": 2 }, + { "begin": 7485, "end": 7496, "name": "SWAP4", "source": 2 }, { - "begin": 7573, - "end": 7715, + "begin": 7505, + "end": 7647, "name": "tag", "source": 2, - "value": "171" + "value": "170" }, - { "begin": 7573, "end": 7715, "name": "JUMPDEST", "source": 2 }, - { "begin": 7589, "end": 7595, "name": "DUP4", "source": 2 }, - { "begin": 7584, "end": 7587, "name": "DUP6", "source": 2 }, - { "begin": 7581, "end": 7596, "name": "LT", "source": 2 }, - { "begin": 7573, "end": 7715, "name": "ISZERO", "source": 2 }, + { "begin": 7505, "end": 7647, "name": "JUMPDEST", "source": 2 }, + { "begin": 7521, "end": 7527, "name": "DUP4", "source": 2 }, + { "begin": 7516, "end": 7519, "name": "DUP6", "source": 2 }, + { "begin": 7513, "end": 7528, "name": "LT", "source": 2 }, + { "begin": 7505, "end": 7647, "name": "ISZERO", "source": 2 }, { - "begin": 7573, - "end": 7715, + "begin": 7505, + "end": 7647, "name": "PUSH [tag]", "source": 2, - "value": "173" + "value": "172" }, - { "begin": 7573, "end": 7715, "name": "JUMPI", "source": 2 }, - { "begin": 7655, "end": 7672, "name": "DUP5", "source": 2 }, + { "begin": 7505, "end": 7647, "name": "JUMPI", "source": 2 }, + { "begin": 7587, "end": 7604, "name": "DUP5", "source": 2 }, { - "begin": 7655, - "end": 7672, + "begin": 7587, + "end": 7604, "name": "CALLDATALOAD", "source": 2 }, - { "begin": 7643, "end": 7673, "name": "DUP3", "source": 2 }, - { "begin": 7643, "end": 7673, "name": "MSTORE", "source": 2 }, - { "begin": 7606, "end": 7618, "name": "SWAP4", "source": 2 }, - { "begin": 7606, "end": 7618, "name": "DUP6", "source": 2 }, - { "begin": 7606, "end": 7618, "name": "ADD", "source": 2 }, - { "begin": 7606, "end": 7618, "name": "SWAP4", "source": 2 }, - { "begin": 7693, "end": 7705, "name": "SWAP1", "source": 2 }, - { "begin": 7693, "end": 7705, "name": "DUP6", "source": 2 }, - { "begin": 7693, "end": 7705, "name": "ADD", "source": 2 }, - { "begin": 7693, "end": 7705, "name": "SWAP1", "source": 2 }, - { - "begin": 7573, - "end": 7715, + { "begin": 7575, "end": 7605, "name": "DUP3", "source": 2 }, + { "begin": 7575, "end": 7605, "name": "MSTORE", "source": 2 }, + { "begin": 7538, "end": 7550, "name": "SWAP4", "source": 2 }, + { "begin": 7538, "end": 7550, "name": "DUP6", "source": 2 }, + { "begin": 7538, "end": 7550, "name": "ADD", "source": 2 }, + { "begin": 7538, "end": 7550, "name": "SWAP4", "source": 2 }, + { "begin": 7625, "end": 7637, "name": "SWAP1", "source": 2 }, + { "begin": 7625, "end": 7637, "name": "DUP6", "source": 2 }, + { "begin": 7625, "end": 7637, "name": "ADD", "source": 2 }, + { "begin": 7625, "end": 7637, "name": "SWAP1", "source": 2 }, + { + "begin": 7505, + "end": 7647, "name": "PUSH [tag]", "source": 2, - "value": "171" + "value": "170" }, - { "begin": 7573, "end": 7715, "name": "JUMP", "source": 2 }, + { "begin": 7505, "end": 7647, "name": "JUMP", "source": 2 }, { - "begin": 7573, - "end": 7715, + "begin": 7505, + "end": 7647, "name": "tag", "source": 2, - "value": "173" + "value": "172" }, - { "begin": 7573, "end": 7715, "name": "JUMPDEST", "source": 2 }, - { "begin": 7734, "end": 7739, "name": "SWAP9", "source": 2 }, - { "begin": 6201, "end": 7745, "name": "SWAP8", "source": 2 }, + { "begin": 7505, "end": 7647, "name": "JUMPDEST", "source": 2 }, + { "begin": 7666, "end": 7671, "name": "SWAP9", "source": 2 }, + { "begin": 6133, "end": 7677, "name": "SWAP8", "source": 2 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, @@ -9873,8 +9794,8 @@ { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { "begin": -1, "end": -1, "name": "POP", "source": -1 }, { - "begin": 6201, - "end": 7745, + "begin": 6133, + "end": 7677, "jumpType": "[out]", "name": "JUMP", "source": 2 @@ -9889,16 +9810,16 @@ ] }, "methodIdentifiers": { - "encodeBond(uint256,uint256,bytes)": "a82948d4", + "encodeBond(uint256,bytes)": "72a9fbc6", "encodeBondExtra(uint256)": "813667a0", "encodeChill()": "b5eaac43", "encodeHrmpAcceptOpenChannel(uint32)": "98a76477", "encodeHrmpCancelOpenRequest(uint32,uint32,uint32)": "8fd5ce49", "encodeHrmpCloseChannel(uint32,uint32)": "9cfbdfc5", "encodeHrmpInitOpenChannel(uint32,uint32,uint32)": "e5e20a64", - "encodeNominate(uint256[])": "d2ea7b08", + "encodeNominate(bytes32[])": "dcf06883", "encodeRebond(uint256)": "0922ee17", - "encodeSetController(uint256)": "07f7c6dc", + "encodeSetController()": "15490616", "encodeSetPayee(bytes)": "414be337", "encodeUnbond(uint256)": "51b14e57", "encodeValidate(uint256,bool)": "bb64ca0c", @@ -9906,9 +9827,9 @@ } }, "ewasm": { "wasm": "" }, - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"controllerAddress\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"reward_destination\",\"type\":\"bytes\"}],\"name\":\"encodeBond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeBondExtra\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeChill\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpAcceptOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"openRequests\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCancelOpenRequest\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCloseChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxCapacity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxMessageSize\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpInitOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nominees\",\"type\":\"uint256[]\"}],\"name\":\"encodeNominate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeRebond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"controller\",\"type\":\"uint256\"}],\"name\":\"encodeSetController\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeSetPayee\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeUnbond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"comission\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"blocked\",\"type\":\"bool\"}],\"name\":\"encodeValidate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"slashes\",\"type\":\"uint32\"}],\"name\":\"encodeWithdrawUnbonded\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"encodeBondExtra(uint256)\":{\"details\":\"Encode 'bondExtra' relay call\",\"params\":{\"amount\":\": The extra amount to bond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeChill()\":{\"details\":\"Encode 'chill' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeHrmpAcceptOpenChannel(uint32)\":{\"details\":\"Encode 'hrmp.accept_open_channel' relay call\",\"params\":{\"sender\":\": The paraId from which we want to accept the channel\"}},\"encodeHrmpCancelOpenRequest(uint32,uint32,uint32)\":{\"details\":\"Encode 'hrmp.cancel_open_request' relay call\",\"params\":{\"openRequests\":\": The number of open requests\",\"recipient\":\": The paraId of the recipient\",\"sender\":\": The paraId of the sender\"}},\"encodeHrmpCloseChannel(uint32,uint32)\":{\"details\":\"Encode 'hrmp.close_channel' relay call\",\"params\":{\"sender\":\": The paraId of the recipient\"}},\"encodeHrmpInitOpenChannel(uint32,uint32,uint32)\":{\"details\":\"Encode 'hrmp.init_open_channel' relay call\",\"params\":{\"maxCapacity\":\": The maximum capacity for the channel\",\"maxMessageSize\":\": The maximum message size for the channel\",\"recipient\":\": The paraId to whom we want to initiate the open channel\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeNominate(uint256[])\":{\"details\":\"Encode 'nominate' relay call\",\"params\":{\"nominees\":\": An array of AccountIds corresponding to the accounts we will nominate\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeRebond(uint256)\":{\"details\":\"Encode 'rebond' relay call\",\"params\":{\"amount\":\": The amount to rebond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetController(uint256)\":{\"details\":\"Encode 'setController' relay call\",\"params\":{\"controller\":\": The controller address\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetPayee(bytes)\":{\"details\":\"Encode 'setPayee' relay call\",\"params\":{\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeUnbond(uint256)\":{\"details\":\"Encode 'unbond' relay call\",\"params\":{\"amount\":\"The amount to unbond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeValidate(uint256,bool)\":{\"details\":\"Encode 'validate' relay call\",\"params\":{\"blocked\":\": Whether or not the validator is accepting more nominations\",\"comission\":\": Comission of the validator as partsPerBillion\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeWithdrawUnbonded(uint32)\":{\"details\":\"Encode 'withdrawUnbonded' relay call\",\"params\":{\"slashes\":\"Weight hint, number of slashing spans\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"RelayEncoderInstance.sol\":\"RelayEncoderInstance\"},\"debug\":{\"revertStrings\":\"debug\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"RelayEncoderInstance.sol\":{\"keccak256\":\"0x483ce3b9524c1122ed4c13c68aae5ad06e22d4a060bdd181439317403587002b\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://6afe9ea567d183fbd64bfbf3e18f365ba236f0aaa133d6dc0c7e504e0f0185f1\",\"dweb:/ipfs/QmZy5VFeFuqkBT4Ajd7Q8zM3hBueYfdqXGPMhUapruVSxk\"]},\"precompiles/relay-encoder/RelayEncoder.sol\":{\"keccak256\":\"0x1c126ed056d7992cc278400f92d17f5115e7ca622100a460ad1e2fb9407f406d\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://0ba13b64c01d6022bb9d204cdeeb7e23f7661b72e04f5f4d8da3691fb5a2c6c6\",\"dweb:/ipfs/QmZGaR5At5oX39tcpBLTXaVPkY2ww9ZLCwDinQCCerm2ZL\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"reward_destination\",\"type\":\"bytes\"}],\"name\":\"encodeBond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeBondExtra\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeChill\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpAcceptOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"openRequests\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCancelOpenRequest\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCloseChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxCapacity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxMessageSize\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpInitOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"nominees\",\"type\":\"bytes32[]\"}],\"name\":\"encodeNominate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeRebond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeSetController\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeSetPayee\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeUnbond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commission\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"blocked\",\"type\":\"bool\"}],\"name\":\"encodeValidate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"slashes\",\"type\":\"uint32\"}],\"name\":\"encodeWithdrawUnbonded\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"encodeBondExtra(uint256)\":{\"details\":\"Encode 'bondExtra' relay call\",\"params\":{\"amount\":\": The extra amount to bond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeChill()\":{\"details\":\"Encode 'chill' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeHrmpAcceptOpenChannel(uint32)\":{\"details\":\"Encode 'hrmp.accept_open_channel' relay call\",\"params\":{\"sender\":\": The paraId from which we want to accept the channel\"}},\"encodeHrmpCancelOpenRequest(uint32,uint32,uint32)\":{\"details\":\"Encode 'hrmp.cancel_open_request' relay call\",\"params\":{\"openRequests\":\": The number of open requests\",\"recipient\":\": The paraId of the recipient\",\"sender\":\": The paraId of the sender\"}},\"encodeHrmpCloseChannel(uint32,uint32)\":{\"details\":\"Encode 'hrmp.close_channel' relay call\",\"params\":{\"sender\":\": The paraId of the recipient\"}},\"encodeHrmpInitOpenChannel(uint32,uint32,uint32)\":{\"details\":\"Encode 'hrmp.init_open_channel' relay call\",\"params\":{\"maxCapacity\":\": The maximum capacity for the channel\",\"maxMessageSize\":\": The maximum message size for the channel\",\"recipient\":\": The paraId to whom we want to initiate the open channel\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeNominate(bytes32[])\":{\"details\":\"Encode 'nominate' relay call\",\"params\":{\"nominees\":\": An array of AccountIds corresponding to the accounts we will nominate\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeRebond(uint256)\":{\"details\":\"Encode 'rebond' relay call\",\"params\":{\"amount\":\": The amount to rebond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetController()\":{\"details\":\"Encode 'setController' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetPayee(bytes)\":{\"details\":\"Encode 'setPayee' relay call\",\"params\":{\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeUnbond(uint256)\":{\"details\":\"Encode 'unbond' relay call\",\"params\":{\"amount\":\"The amount to unbond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeValidate(uint256,bool)\":{\"details\":\"Encode 'validate' relay call\",\"params\":{\"blocked\":\": Whether or not the validator is accepting more nominations\",\"commission\":\": Commission of the validator as partsPerBillion\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeWithdrawUnbonded(uint32)\":{\"details\":\"Encode 'withdrawUnbonded' relay call\",\"params\":{\"slashes\":\"Weight hint, number of slashing spans\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"RelayEncoderInstance.sol\":\"RelayEncoderInstance\"},\"debug\":{\"revertStrings\":\"debug\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"RelayEncoderInstance.sol\":{\"keccak256\":\"0xb218dc113adb4abb8921f4c1df13182e1f8336b63b072434752cbf7610b05294\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://6840526bbe051d1203d317f2b76ac1caaacf462c59cff7ce76ae59896a5ecdb7\",\"dweb:/ipfs/QmWAWszo8MxnKgQVEsUgSWjHUQbw36E6rJeqpByipqYLuV\"]},\"precompiles/relay-encoder/RelayEncoder.sol\":{\"keccak256\":\"0x9ef127fe58e594df8f28fbbb697e575dfec5ba621b9c87f10969bb85461868ff\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://308952fef2f4d4c4d86804e24d16961801513b2df20814304d6fd0e3fc08d204\",\"dweb:/ipfs/QmPLqXaoXuiHU2PZ9V1cwW5s6rg1N9SxtxwzD7ZiQD4fBu\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, - "sourceCode": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.8.3;\n\nimport \"../../../precompiles/relay-encoder/RelayEncoder.sol\";\n\n// We only use this to be able to generate the input data, since we need a compiled instance\ncontract RelayEncoderInstance is RelayEncoder {\n function encodeBond(\n uint256 controllerAddress,\n uint256 amount,\n bytes memory reward_destination\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeBondExtra(uint256 amount)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeUnbond(uint256 amount)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeWithdrawUnbonded(uint32 slashes)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeValidate(uint256 comission, bool blocked)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeNominate(uint256[] memory nominees)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeChill()\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeSetPayee(bytes memory rewardDestination)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeSetController(uint256 controller)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeRebond(uint256 amount)\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeHrmpInitOpenChannel(uint32 recipient, uint32 maxCapacity, uint32 maxMessageSize)\n external\n pure\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeHrmpAcceptOpenChannel(uint32 sender)\n external\n pure\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeHrmpCloseChannel(uint32 sender, uint32 recipient)\n external\n pure\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) \n external \n pure \n returns (bytes memory result) \n {\n return \"0x00\";\n }\n\n}\n" + "sourceCode": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.8.3;\n\nimport \"../../../precompiles/relay-encoder/RelayEncoder.sol\";\n\n// We only use this to be able to generate the input data, since we need a compiled instance\ncontract RelayEncoderInstance is RelayEncoder {\n function encodeBond(\n uint256 amount,\n bytes memory reward_destination\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeBondExtra(\n uint256 amount\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeUnbond(\n uint256 amount\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeWithdrawUnbonded(\n uint32 slashes\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeValidate(\n uint256 commission,\n bool blocked\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeNominate(\n bytes32[] memory nominees\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeChill()\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeSetPayee(\n bytes memory rewardDestination\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeSetController()\n external\n pure\n override\n returns (bytes memory result)\n {\n return \"0x00\";\n }\n\n function encodeRebond(\n uint256 amount\n ) external pure override returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeHrmpInitOpenChannel(\n uint32 recipient,\n uint32 maxCapacity,\n uint32 maxMessageSize\n ) external pure returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeHrmpAcceptOpenChannel(\n uint32 sender\n ) external pure returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeHrmpCloseChannel(\n uint32 sender,\n uint32 recipient\n ) external pure returns (bytes memory result) {\n return \"0x00\";\n }\n\n function encodeHrmpCancelOpenRequest(\n uint32 sender,\n uint32 recipient,\n uint32 openRequests\n ) external pure returns (bytes memory result) {\n return \"0x00\";\n }\n}\n" } diff --git a/tests/contracts/compiled/precompiles/relay-encoder/RelayEncoder.json b/tests/contracts/compiled/precompiles/relay-encoder/RelayEncoder.json index 1ef34ec39f2..1b18bbc8ca6 100644 --- a/tests/contracts/compiled/precompiles/relay-encoder/RelayEncoder.json +++ b/tests/contracts/compiled/precompiles/relay-encoder/RelayEncoder.json @@ -4,11 +4,6 @@ "abi": [ { "inputs": [ - { - "internalType": "uint256", - "name": "controllerAddress", - "type": "uint256" - }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", @@ -99,9 +94,9 @@ { "inputs": [ { - "internalType": "uint256[]", + "internalType": "bytes32[]", "name": "nominees", - "type": "uint256[]" + "type": "bytes32[]" } ], "name": "encodeNominate", @@ -123,9 +118,7 @@ "type": "function" }, { - "inputs": [ - { "internalType": "uint256", "name": "controller", "type": "uint256" } - ], + "inputs": [], "name": "encodeSetController", "outputs": [ { "internalType": "bytes", "name": "result", "type": "bytes" } @@ -161,7 +154,11 @@ }, { "inputs": [ - { "internalType": "uint256", "name": "comission", "type": "uint256" }, + { + "internalType": "uint256", + "name": "commission", + "type": "uint256" + }, { "internalType": "bool", "name": "blocked", "type": "bool" } ], "name": "encodeValidate", @@ -189,12 +186,11 @@ "details": "The interface through which solidity contracts will interact with Relay Encoder We follow this same interface including four-byte function selectors, in the precompile that wraps the pallet", "kind": "dev", "methods": { - "encodeBond(uint256,uint256,bytes)": { - "custom:selector": "a82948d4", + "encodeBond(uint256,bytes)": { + "custom:selector": "72a9fbc6", "details": "Encode 'bond' relay call", "params": { "amount": ": The amount to bond", - "controllerAddress": ": Address of the controller", "rewardDestination": ": the account that should receive the reward" }, "returns": { "result": "The bytes associated with the encoded call" } @@ -241,7 +237,7 @@ }, "returns": { "result": "The bytes associated with the encoded call" } }, - "encodeNominate(uint256[])": { + "encodeNominate(bytes32[])": { "custom:selector": "d2ea7b08", "details": "Encode 'nominate' relay call", "params": { @@ -255,10 +251,9 @@ "params": { "amount": ": The amount to rebond" }, "returns": { "result": "The bytes associated with the encoded call" } }, - "encodeSetController(uint256)": { - "custom:selector": "07f7c6dc", + "encodeSetController()": { + "custom:selector": "15490616", "details": "Encode 'setController' relay call", - "params": { "controller": ": The controller address" }, "returns": { "result": "The bytes associated with the encoded call" } }, "encodeSetPayee(bytes)": { @@ -280,7 +275,7 @@ "details": "Encode 'validate' relay call", "params": { "blocked": ": Whether or not the validator is accepting more nominations", - "comission": ": Comission of the validator as partsPerBillion" + "commission": ": Commission of the validator as partsPerBillion" }, "returns": { "result": "The bytes associated with the encoded call" } }, @@ -316,16 +311,16 @@ "gasEstimates": null, "legacyAssembly": null, "methodIdentifiers": { - "encodeBond(uint256,uint256,bytes)": "a82948d4", + "encodeBond(uint256,bytes)": "72a9fbc6", "encodeBondExtra(uint256)": "813667a0", "encodeChill()": "b5eaac43", "encodeHrmpAcceptOpenChannel(uint32)": "98a76477", "encodeHrmpCancelOpenRequest(uint32,uint32,uint32)": "8fd5ce49", "encodeHrmpCloseChannel(uint32,uint32)": "9cfbdfc5", "encodeHrmpInitOpenChannel(uint32,uint32,uint32)": "e5e20a64", - "encodeNominate(uint256[])": "d2ea7b08", + "encodeNominate(bytes32[])": "dcf06883", "encodeRebond(uint256)": "0922ee17", - "encodeSetController(uint256)": "07f7c6dc", + "encodeSetController()": "15490616", "encodeSetPayee(bytes)": "414be337", "encodeUnbond(uint256)": "51b14e57", "encodeValidate(uint256,bool)": "bb64ca0c", @@ -333,9 +328,9 @@ } }, "ewasm": { "wasm": "" }, - "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"controllerAddress\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeBond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeBondExtra\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeChill\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpAcceptOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"openRequests\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCancelOpenRequest\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCloseChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxCapacity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxMessageSize\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpInitOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nominees\",\"type\":\"uint256[]\"}],\"name\":\"encodeNominate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeRebond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"controller\",\"type\":\"uint256\"}],\"name\":\"encodeSetController\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeSetPayee\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeUnbond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"comission\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"blocked\",\"type\":\"bool\"}],\"name\":\"encodeValidate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"slashes\",\"type\":\"uint32\"}],\"name\":\"encodeWithdrawUnbonded\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Moonbeam Team\",\"custom:address\":\"0x0000000000000000000000000000000000000805\",\"details\":\"The interface through which solidity contracts will interact with Relay Encoder We follow this same interface including four-byte function selectors, in the precompile that wraps the pallet\",\"kind\":\"dev\",\"methods\":{\"encodeBond(uint256,uint256,bytes)\":{\"custom:selector\":\"a82948d4\",\"details\":\"Encode 'bond' relay call\",\"params\":{\"amount\":\": The amount to bond\",\"controllerAddress\":\": Address of the controller\",\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeBondExtra(uint256)\":{\"custom:selector\":\"813667a0\",\"details\":\"Encode 'bondExtra' relay call\",\"params\":{\"amount\":\": The extra amount to bond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeChill()\":{\"custom:selector\":\"b5eaac43\",\"details\":\"Encode 'chill' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeHrmpAcceptOpenChannel(uint32)\":{\"custom:selector\":\"98a76477\",\"details\":\"Encode 'hrmp.accept_open_channel' relay call\",\"params\":{\"sender\":\": The paraId from which we want to accept the channel\"}},\"encodeHrmpCancelOpenRequest(uint32,uint32,uint32)\":{\"custom:selector\":\"8fd5ce49\",\"details\":\"Encode 'hrmp.cancel_open_request' relay call\",\"params\":{\"openRequests\":\": The number of open requests\",\"recipient\":\": The paraId of the recipient\",\"sender\":\": The paraId of the sender\"}},\"encodeHrmpCloseChannel(uint32,uint32)\":{\"custom:selector\":\"9cfbdfc5\",\"details\":\"Encode 'hrmp.close_channel' relay call\",\"params\":{\"sender\":\": The paraId of the recipient\"}},\"encodeHrmpInitOpenChannel(uint32,uint32,uint32)\":{\"custom:selector\":\"e5e20a64\",\"details\":\"Encode 'hrmp.init_open_channel' relay call\",\"params\":{\"maxCapacity\":\": The maximum capacity for the channel\",\"maxMessageSize\":\": The maximum message size for the channel\",\"recipient\":\": The paraId to whom we want to initiate the open channel\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeNominate(uint256[])\":{\"custom:selector\":\"d2ea7b08\",\"details\":\"Encode 'nominate' relay call\",\"params\":{\"nominees\":\": An array of AccountIds corresponding to the accounts we will nominate\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeRebond(uint256)\":{\"custom:selector\":\"0922ee17\",\"details\":\"Encode 'rebond' relay call\",\"params\":{\"amount\":\": The amount to rebond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetController(uint256)\":{\"custom:selector\":\"07f7c6dc\",\"details\":\"Encode 'setController' relay call\",\"params\":{\"controller\":\": The controller address\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetPayee(bytes)\":{\"custom:selector\":\"414be337\",\"details\":\"Encode 'setPayee' relay call\",\"params\":{\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeUnbond(uint256)\":{\"custom:selector\":\"51b14e57\",\"details\":\"Encode 'unbond' relay call\",\"params\":{\"amount\":\"The amount to unbond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeValidate(uint256,bool)\":{\"custom:selector\":\"bb64ca0c\",\"details\":\"Encode 'validate' relay call\",\"params\":{\"blocked\":\": Whether or not the validator is accepting more nominations\",\"comission\":\": Comission of the validator as partsPerBillion\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeWithdrawUnbonded(uint32)\":{\"custom:selector\":\"d5ad108e\",\"details\":\"Encode 'withdrawUnbonded' relay call\",\"params\":{\"slashes\":\"Weight hint, number of slashing spans\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}}},\"title\":\"Pallet Relay Encoder Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"RelayEncoder.sol\":\"RelayEncoder\"},\"debug\":{\"revertStrings\":\"debug\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"RelayEncoder.sol\":{\"keccak256\":\"0x1c126ed056d7992cc278400f92d17f5115e7ca622100a460ad1e2fb9407f406d\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://0ba13b64c01d6022bb9d204cdeeb7e23f7661b72e04f5f4d8da3691fb5a2c6c6\",\"dweb:/ipfs/QmZGaR5At5oX39tcpBLTXaVPkY2ww9ZLCwDinQCCerm2ZL\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeBond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeBondExtra\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeChill\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpAcceptOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"openRequests\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCancelOpenRequest\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"sender\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpCloseChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"recipient\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxCapacity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"maxMessageSize\",\"type\":\"uint32\"}],\"name\":\"encodeHrmpInitOpenChannel\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"nominees\",\"type\":\"bytes32[]\"}],\"name\":\"encodeNominate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeRebond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeSetController\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"rewardDestination\",\"type\":\"bytes\"}],\"name\":\"encodeSetPayee\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"encodeUnbond\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commission\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"blocked\",\"type\":\"bool\"}],\"name\":\"encodeValidate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"slashes\",\"type\":\"uint32\"}],\"name\":\"encodeWithdrawUnbonded\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Moonbeam Team\",\"custom:address\":\"0x0000000000000000000000000000000000000805\",\"details\":\"The interface through which solidity contracts will interact with Relay Encoder We follow this same interface including four-byte function selectors, in the precompile that wraps the pallet\",\"kind\":\"dev\",\"methods\":{\"encodeBond(uint256,bytes)\":{\"custom:selector\":\"72a9fbc6\",\"details\":\"Encode 'bond' relay call\",\"params\":{\"amount\":\": The amount to bond\",\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeBondExtra(uint256)\":{\"custom:selector\":\"813667a0\",\"details\":\"Encode 'bondExtra' relay call\",\"params\":{\"amount\":\": The extra amount to bond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeChill()\":{\"custom:selector\":\"b5eaac43\",\"details\":\"Encode 'chill' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeHrmpAcceptOpenChannel(uint32)\":{\"custom:selector\":\"98a76477\",\"details\":\"Encode 'hrmp.accept_open_channel' relay call\",\"params\":{\"sender\":\": The paraId from which we want to accept the channel\"}},\"encodeHrmpCancelOpenRequest(uint32,uint32,uint32)\":{\"custom:selector\":\"8fd5ce49\",\"details\":\"Encode 'hrmp.cancel_open_request' relay call\",\"params\":{\"openRequests\":\": The number of open requests\",\"recipient\":\": The paraId of the recipient\",\"sender\":\": The paraId of the sender\"}},\"encodeHrmpCloseChannel(uint32,uint32)\":{\"custom:selector\":\"9cfbdfc5\",\"details\":\"Encode 'hrmp.close_channel' relay call\",\"params\":{\"sender\":\": The paraId of the recipient\"}},\"encodeHrmpInitOpenChannel(uint32,uint32,uint32)\":{\"custom:selector\":\"e5e20a64\",\"details\":\"Encode 'hrmp.init_open_channel' relay call\",\"params\":{\"maxCapacity\":\": The maximum capacity for the channel\",\"maxMessageSize\":\": The maximum message size for the channel\",\"recipient\":\": The paraId to whom we want to initiate the open channel\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeNominate(bytes32[])\":{\"custom:selector\":\"d2ea7b08\",\"details\":\"Encode 'nominate' relay call\",\"params\":{\"nominees\":\": An array of AccountIds corresponding to the accounts we will nominate\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeRebond(uint256)\":{\"custom:selector\":\"0922ee17\",\"details\":\"Encode 'rebond' relay call\",\"params\":{\"amount\":\": The amount to rebond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetController()\":{\"custom:selector\":\"15490616\",\"details\":\"Encode 'setController' relay call\",\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeSetPayee(bytes)\":{\"custom:selector\":\"414be337\",\"details\":\"Encode 'setPayee' relay call\",\"params\":{\"rewardDestination\":\": the account that should receive the reward\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeUnbond(uint256)\":{\"custom:selector\":\"51b14e57\",\"details\":\"Encode 'unbond' relay call\",\"params\":{\"amount\":\"The amount to unbond\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeValidate(uint256,bool)\":{\"custom:selector\":\"bb64ca0c\",\"details\":\"Encode 'validate' relay call\",\"params\":{\"blocked\":\": Whether or not the validator is accepting more nominations\",\"commission\":\": Commission of the validator as partsPerBillion\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}},\"encodeWithdrawUnbonded(uint32)\":{\"custom:selector\":\"d5ad108e\",\"details\":\"Encode 'withdrawUnbonded' relay call\",\"params\":{\"slashes\":\"Weight hint, number of slashing spans\"},\"returns\":{\"result\":\"The bytes associated with the encoded call\"}}},\"title\":\"Pallet Relay Encoder Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"RelayEncoder.sol\":\"RelayEncoder\"},\"debug\":{\"revertStrings\":\"debug\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"RelayEncoder.sol\":{\"keccak256\":\"0x9ef127fe58e594df8f28fbbb697e575dfec5ba621b9c87f10969bb85461868ff\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://308952fef2f4d4c4d86804e24d16961801513b2df20814304d6fd0e3fc08d204\",\"dweb:/ipfs/QmPLqXaoXuiHU2PZ9V1cwW5s6rg1N9SxtxwzD7ZiQD4fBu\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, - "sourceCode": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.8.3;\n\n/// @dev The RelayEncoder contract's address.\naddress constant RELAY_ENCODER_ADDRESS = 0x0000000000000000000000000000000000000805;\n\n/// @dev The RelayEncoder contract's instance.\nRelayEncoder constant RELAY_ENCODER_CONTRACT = RelayEncoder(\n RELAY_ENCODER_ADDRESS\n);\n\n/// @author The Moonbeam Team\n/// @title Pallet Relay Encoder Interface\n/// @dev The interface through which solidity contracts will interact with Relay Encoder\n/// We follow this same interface including four-byte function selectors, in the precompile that\n/// wraps the pallet\n/// @custom:address 0x0000000000000000000000000000000000000805\ninterface RelayEncoder {\n /// @dev Encode 'bond' relay call\n /// @custom:selector a82948d4\n /// @param controllerAddress: Address of the controller\n /// @param amount: The amount to bond\n /// @param rewardDestination: the account that should receive the reward\n /// @return result The bytes associated with the encoded call\n function encodeBond(\n uint256 controllerAddress,\n uint256 amount,\n bytes memory rewardDestination\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'bondExtra' relay call\n /// @custom:selector 813667a0\n /// @param amount: The extra amount to bond\n /// @return result The bytes associated with the encoded call\n function encodeBondExtra(uint256 amount)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'unbond' relay call\n /// @custom:selector 51b14e57\n /// @param amount The amount to unbond\n /// @return result The bytes associated with the encoded call\n function encodeUnbond(uint256 amount)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'withdrawUnbonded' relay call\n /// @custom:selector d5ad108e\n /// @param slashes Weight hint, number of slashing spans\n /// @return result The bytes associated with the encoded call\n function encodeWithdrawUnbonded(uint32 slashes)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'validate' relay call\n /// @custom:selector bb64ca0c\n /// @param comission: Comission of the validator as partsPerBillion\n /// @param blocked: Whether or not the validator is accepting more nominations\n /// @return result The bytes associated with the encoded call\n function encodeValidate(uint256 comission, bool blocked)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'nominate' relay call\n /// @custom:selector d2ea7b08\n /// @param nominees: An array of AccountIds corresponding to the accounts we will nominate\n /// @return result The bytes associated with the encoded call\n function encodeNominate(uint256[] memory nominees)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'chill' relay call\n /// @custom:selector b5eaac43\n /// @return result The bytes associated with the encoded call\n function encodeChill() external pure returns (bytes memory result);\n\n /// @dev Encode 'setPayee' relay call\n /// @custom:selector 414be337\n /// @param rewardDestination: the account that should receive the reward\n /// @return result The bytes associated with the encoded call\n function encodeSetPayee(bytes memory rewardDestination)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'setController' relay call\n /// @custom:selector 07f7c6dc\n /// @param controller: The controller address\n /// @return result The bytes associated with the encoded call\n function encodeSetController(uint256 controller)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'rebond' relay call\n /// @custom:selector 0922ee17\n /// @param amount: The amount to rebond\n /// @return result The bytes associated with the encoded call\n function encodeRebond(uint256 amount)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'hrmp.init_open_channel' relay call\n /// @custom:selector e5e20a64\n /// @param recipient: The paraId to whom we want to initiate the open channel\n /// @param maxCapacity: The maximum capacity for the channel\n /// @param maxMessageSize: The maximum message size for the channel\n /// @return result The bytes associated with the encoded call\n function encodeHrmpInitOpenChannel(uint32 recipient, uint32 maxCapacity, uint32 maxMessageSize)\n external\n pure\n returns (bytes memory result);\n \n /// @dev Encode 'hrmp.accept_open_channel' relay call\n /// @custom:selector 98a76477\n /// @param sender: The paraId from which we want to accept the channel\n function encodeHrmpAcceptOpenChannel(uint32 sender)\n external\n pure\n returns (bytes memory result);\n\n /// @dev Encode 'hrmp.close_channel' relay call\n /// @custom:selector 9cfbdfc5\n /// @param sender: The paraId of the sender\n /// @param sender: The paraId of the recipient\n function encodeHrmpCloseChannel(uint32 sender, uint32 recipient)\n external\n pure\n returns (bytes memory result);\n \n /// @dev Encode 'hrmp.cancel_open_request' relay call\n /// @custom:selector 8fd5ce49\n /// @param sender: The paraId of the sender\n /// @param recipient: The paraId of the recipient\n /// @param openRequests: The number of open requests\n function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) \n external \n pure \n returns (bytes memory result);\n}\n" + "sourceCode": "// SPDX-License-Identifier: GPL-3.0-only\npragma solidity >=0.8.3;\n\n/// @dev The RelayEncoder contract's address.\naddress constant RELAY_ENCODER_ADDRESS = 0x0000000000000000000000000000000000000805;\n\n/// @dev The RelayEncoder contract's instance.\nRelayEncoder constant RELAY_ENCODER_CONTRACT = RelayEncoder(\n RELAY_ENCODER_ADDRESS\n);\n\n/// @author The Moonbeam Team\n/// @title Pallet Relay Encoder Interface\n/// @dev The interface through which solidity contracts will interact with Relay Encoder\n/// We follow this same interface including four-byte function selectors, in the precompile that\n/// wraps the pallet\n/// @custom:address 0x0000000000000000000000000000000000000805\ninterface RelayEncoder {\n /// @dev Encode 'bond' relay call\n /// @custom:selector 72a9fbc6\n /// @param amount: The amount to bond\n /// @param rewardDestination: the account that should receive the reward\n /// @return result The bytes associated with the encoded call\n function encodeBond(\n uint256 amount,\n bytes memory rewardDestination\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'bondExtra' relay call\n /// @custom:selector 813667a0\n /// @param amount: The extra amount to bond\n /// @return result The bytes associated with the encoded call\n function encodeBondExtra(\n uint256 amount\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'unbond' relay call\n /// @custom:selector 51b14e57\n /// @param amount The amount to unbond\n /// @return result The bytes associated with the encoded call\n function encodeUnbond(\n uint256 amount\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'withdrawUnbonded' relay call\n /// @custom:selector d5ad108e\n /// @param slashes Weight hint, number of slashing spans\n /// @return result The bytes associated with the encoded call\n function encodeWithdrawUnbonded(\n uint32 slashes\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'validate' relay call\n /// @custom:selector bb64ca0c\n /// @param commission: Commission of the validator as partsPerBillion\n /// @param blocked: Whether or not the validator is accepting more nominations\n /// @return result The bytes associated with the encoded call\n function encodeValidate(\n uint256 commission,\n bool blocked\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'nominate' relay call\n /// @custom:selector d2ea7b08\n /// @param nominees: An array of AccountIds corresponding to the accounts we will nominate\n /// @return result The bytes associated with the encoded call\n function encodeNominate(\n bytes32[] memory nominees\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'chill' relay call\n /// @custom:selector b5eaac43\n /// @return result The bytes associated with the encoded call\n function encodeChill() external pure returns (bytes memory result);\n\n /// @dev Encode 'setPayee' relay call\n /// @custom:selector 414be337\n /// @param rewardDestination: the account that should receive the reward\n /// @return result The bytes associated with the encoded call\n function encodeSetPayee(\n bytes memory rewardDestination\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'setController' relay call\n /// @custom:selector 15490616\n /// @return result The bytes associated with the encoded call\n function encodeSetController() external pure returns (bytes memory result);\n\n /// @dev Encode 'rebond' relay call\n /// @custom:selector 0922ee17\n /// @param amount: The amount to rebond\n /// @return result The bytes associated with the encoded call\n function encodeRebond(\n uint256 amount\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'hrmp.init_open_channel' relay call\n /// @custom:selector e5e20a64\n /// @param recipient: The paraId to whom we want to initiate the open channel\n /// @param maxCapacity: The maximum capacity for the channel\n /// @param maxMessageSize: The maximum message size for the channel\n /// @return result The bytes associated with the encoded call\n function encodeHrmpInitOpenChannel(\n uint32 recipient,\n uint32 maxCapacity,\n uint32 maxMessageSize\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'hrmp.accept_open_channel' relay call\n /// @custom:selector 98a76477\n /// @param sender: The paraId from which we want to accept the channel\n function encodeHrmpAcceptOpenChannel(\n uint32 sender\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'hrmp.close_channel' relay call\n /// @custom:selector 9cfbdfc5\n /// @param sender: The paraId of the sender\n /// @param sender: The paraId of the recipient\n function encodeHrmpCloseChannel(\n uint32 sender,\n uint32 recipient\n ) external pure returns (bytes memory result);\n\n /// @dev Encode 'hrmp.cancel_open_request' relay call\n /// @custom:selector 8fd5ce49\n /// @param sender: The paraId of the sender\n /// @param recipient: The paraId of the recipient\n /// @param openRequests: The number of open requests\n function encodeHrmpCancelOpenRequest(\n uint32 sender,\n uint32 recipient,\n uint32 openRequests\n ) external pure returns (bytes memory result);\n}\n" } diff --git a/tests/contracts/solidity/RelayEncoderInstance.sol b/tests/contracts/solidity/RelayEncoderInstance.sol index 602c5fb677f..48a40a0b0b6 100644 --- a/tests/contracts/solidity/RelayEncoderInstance.sol +++ b/tests/contracts/solidity/RelayEncoderInstance.sol @@ -6,55 +6,40 @@ import "../../../precompiles/relay-encoder/RelayEncoder.sol"; // We only use this to be able to generate the input data, since we need a compiled instance contract RelayEncoderInstance is RelayEncoder { function encodeBond( - uint256 controllerAddress, uint256 amount, bytes memory reward_destination ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeBondExtra(uint256 amount) - external - pure - override - returns (bytes memory result) - { + function encodeBondExtra( + uint256 amount + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeUnbond(uint256 amount) - external - pure - override - returns (bytes memory result) - { + function encodeUnbond( + uint256 amount + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeWithdrawUnbonded(uint32 slashes) - external - pure - override - returns (bytes memory result) - { + function encodeWithdrawUnbonded( + uint32 slashes + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeValidate(uint256 comission, bool blocked) - external - pure - override - returns (bytes memory result) - { + function encodeValidate( + uint256 commission, + bool blocked + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeNominate(uint256[] memory nominees) - external - pure - override - returns (bytes memory result) - { + function encodeNominate( + bytes32[] memory nominees + ) external pure override returns (bytes memory result) { return "0x00"; } @@ -67,16 +52,13 @@ contract RelayEncoderInstance is RelayEncoder { return "0x00"; } - function encodeSetPayee(bytes memory rewardDestination) - external - pure - override - returns (bytes memory result) - { + function encodeSetPayee( + bytes memory rewardDestination + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeSetController(uint256 controller) + function encodeSetController() external pure override @@ -85,45 +67,38 @@ contract RelayEncoderInstance is RelayEncoder { return "0x00"; } - function encodeRebond(uint256 amount) - external - pure - override - returns (bytes memory result) - { + function encodeRebond( + uint256 amount + ) external pure override returns (bytes memory result) { return "0x00"; } - function encodeHrmpInitOpenChannel(uint32 recipient, uint32 maxCapacity, uint32 maxMessageSize) - external - pure - returns (bytes memory result) - { + function encodeHrmpInitOpenChannel( + uint32 recipient, + uint32 maxCapacity, + uint32 maxMessageSize + ) external pure returns (bytes memory result) { return "0x00"; } - function encodeHrmpAcceptOpenChannel(uint32 sender) - external - pure - returns (bytes memory result) - { + function encodeHrmpAcceptOpenChannel( + uint32 sender + ) external pure returns (bytes memory result) { return "0x00"; } - function encodeHrmpCloseChannel(uint32 sender, uint32 recipient) - external - pure - returns (bytes memory result) - { + function encodeHrmpCloseChannel( + uint32 sender, + uint32 recipient + ) external pure returns (bytes memory result) { return "0x00"; } - function encodeHrmpCancelOpenRequest(uint32 sender, uint32 recipient, uint32 openRequests) - external - pure - returns (bytes memory result) - { + function encodeHrmpCancelOpenRequest( + uint32 sender, + uint32 recipient, + uint32 openRequests + ) external pure returns (bytes memory result) { return "0x00"; } - } diff --git a/tests/package.json b/tests/package.json index 8bde33797fc..45e54ec7613 100644 --- a/tests/package.json +++ b/tests/package.json @@ -52,7 +52,7 @@ "watch": "npm-watch", "build": "tsc && cp -r contracts build/", "build-clean": "rm -r node_modules && npm i && npm run build", - "test-single": "mocha -r ts-node/register 'tests/test-xcm/test-mock-hrmp-transact-ethereum.ts'", + "test-single": "mocha -r ts-node/register 'tests/test-precompile/test-precompile-relay-encoder.ts'", "current-test": "mocha -r ts-node/register", "lint": "npx prettier --write --ignore-path .gitignore '**/*.(yml|js|ts|json)'", "clean": "rimraf *.log binaries/* runtimes/* specs/*" diff --git a/tests/smoke-tests/test-relay-indices.ts b/tests/smoke-tests/test-relay-indices.ts index a0fbc3d092c..0a73dd61d3e 100644 --- a/tests/smoke-tests/test-relay-indices.ts +++ b/tests/smoke-tests/test-relay-indices.ts @@ -106,15 +106,9 @@ describeSmokeSuite( }); testIt("C400", "should have matching indices for Staking.Bond", async function () { - const callHex = context.relayApi.tx.staking - // @ts-ignore - .bond(ALITH_SESSION_ADDRESS, 10000000000, "Staked") - .method.toHex(); - const resp = await relayEncoder.encodeBond( - ALITH_SESSION_ADDRESS, - 10000000000, - hexToU8a("0x00") - ); + // @ts-ignore + const callHex = context.relayApi.tx.staking.bond(10000000000, "Staked").method.toHex(); + const resp = await relayEncoder.encodeBond(10000000000, hexToU8a("0x00")); expect(resp, "Mismatched encoding between relaychain and local values").to.equals(callHex); }); @@ -145,9 +139,9 @@ describeSmokeSuite( testIt("C900", "should have matching indices for Staking.SetController", async function () { const callHex = context.relayApi.tx.staking // @ts-ignore - .setController(ALITH_SESSION_ADDRESS) + .setController() .method.toHex(); - const resp = await relayEncoder.encodeSetController(ALITH_SESSION_ADDRESS); + const resp = await relayEncoder.encodeSetController(); expect(resp, "Mismatched encoding between relaychain and local values").to.equals(callHex); }); diff --git a/tests/tests/test-precompile/test-precompile-relay-encoder.ts b/tests/tests/test-precompile/test-precompile-relay-encoder.ts index 0b72d6e770b..0a3d27c689d 100644 --- a/tests/tests/test-precompile/test-precompile-relay-encoder.ts +++ b/tests/tests/test-precompile/test-precompile-relay-encoder.ts @@ -18,18 +18,13 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - relay-encoder", (context) => { ( await web3EthCall(context.web3, { to: PRECOMPILE_RELAY_ENCODER_ADDRESS, - data: RELAY_ENCODER_INTERFACE.encodeFunctionData("encodeBond", [ - ALITH_SESSION_ADDRESS, - 100, - 0x02, - ]), + data: RELAY_ENCODER_INTERFACE.encodeFunctionData("encodeBond", [100, 0x02]), }) ).result ).to.equal( "0x0000000000000000000000000000000000000000000000000000000000000020" + - "0000000000000000000000000000000000000000000000000000000000000026" + - "060000d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a5" + - "6da27d9101020000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000000005" + + "0600910102000000000000000000000000000000000000000000000000000000" ); }); @@ -147,16 +142,13 @@ describeDevMoonbeamAllEthTxTypes("Precompiles - relay-encoder", (context) => { ( await web3EthCall(context.web3, { to: PRECOMPILE_RELAY_ENCODER_ADDRESS, - data: RELAY_ENCODER_INTERFACE.encodeFunctionData("encodeSetController", [ - ALITH_SESSION_ADDRESS, - ]), + data: RELAY_ENCODER_INTERFACE.encodeFunctionData("encodeSetController", []), }) ).result ).to.equal( "0x0000000000000000000000000000000000000000000000000000000000000020" + - "0000000000000000000000000000000000000000000000000000000000000023" + - "060800d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a5" + - "6da27d0000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000000002" + + "0608000000000000000000000000000000000000000000000000000000000000" ); }); diff --git a/tests/util/dev-node.ts b/tests/util/dev-node.ts index bc517168d99..c24f03c6405 100644 --- a/tests/util/dev-node.ts +++ b/tests/util/dev-node.ts @@ -89,8 +89,6 @@ export async function startMoonbeamDevNode( `--alice`, `--chain=${runtime}-dev`, `--sealing=manual`, - `--in-peers=0`, - `--out-peers=0`, `-l${MOONBEAM_LOG}`, `--port=${p2pPort}`, `--rpc-port=${rpcPort}`, // This parameter will be renamed to "--rpc-port" in 0.9.43